Mein Problem besteht darin, dass ich in einem Windows-basierten Betriebssystem meinem Ordner oder meiner Datei keine Namen mit Sonderzeichen wie \ / : * ? " < > | geben kann. Für mich ist es sehr wichtig, Dateien/Ordnern Namen zu geben, die derartige Zeichen enthalten.
Ich habe bereits so viele Seiten zu diesem Problem durchsucht und darauf verwiesen, aber alle sind hoffnungslos. Ich habe auch die Support-Seite von Microsoft gelesen, sie schlagen vor, andere Zeichen zu verwenden. Dies ist der Link dazu.https://support.microsoft.com/en-us/kb/177506
Ich habe bereits die Alt-Taste + ASCII-Codenummer dieser Art von Sonderzeichen über die Ziffernblocktaste ausprobiert. Benennen Sie beispielsweise die Datei/den Ordner um und drücken Sie Alt+60 (für <-Zeichen). Es kommt immer noch die Meldung, dass ein Dateiname keines der folgenden Zeichen enthalten darf: \ / : * ? " < > |
Schlagen Sie mir eine geeignete Lösung vor, damit ich meiner Datei/meinem Ordner mit dieser Art von Sonderzeichen einen Namen geben kann.
Antwort1
Für mich ist die Benennung von Dateien/Ordnern, die diese Zeichen enthalten, sehr wichtig.
Es mag für Sie wichtig sein, aber Sie müssen es loslassen und eine andere Möglichkeit zur Lösung Ihres Problems finden.
Diese Zeichen sind bei den Funktionsaufrufen des Windows-Betriebssystems, die Dateinamen verarbeiten, nicht zulässig.
Sie sind ausdrücklich nicht erlaubt, da sie einen anderen Zweck haben:
- \- Reserviert für den Einsatz als Pfadtrenner undFluchtCharakter
- /- Reserviert für die Verwendung als Pfadtrenner
- :- Reserviert für die Verwendung als Laufwerksnamentrennzeichen
- *und ?- Reserviert für die Verwendung alsPlatzhalterFiguren
- "- Reserviert für den Einsatz beiZitatNamen, die Leerzeichen enthalten
- <, >und |- Reserviert für die Verwendung als BefehlUmleitungBetreiber
Sie können natürlich Dateien mit Namen erstellen, die diese Zeichen enthalten, indem Sie ein anderes Betriebssystem verwenden (solange dieses Betriebssystem ein Windows-Dateisystem lesen/schreiben kann).
Mit diesen Dateien können Sie jedoch mit keinem Windows-Programm etwas anfangen, da die Programme die Dateinamen nicht verstehen und Fehler erzeugen.
Benennen von Dateien, Pfaden und Namespaces
Regeln der Namensgebung
Die folgenden grundlegenden Regeln ermöglichen es Anwendungen, unabhängig vom Dateisystem gültige Namen für Dateien und Verzeichnisse zu erstellen und zu verarbeiten:
...
Verwenden Sie für einen Namen ein beliebiges Zeichen der aktuellen Codepage, einschließlich Unicode-Zeichen und Zeichen des erweiterten Zeichensatzes (128–255), mit Ausnahme der folgenden:
Die folgenden reservierten Zeichen:
< (less than) > (greater than) : (colon) " (double quote) / (forward slash) \ (backslash) | (vertical bar or pipe) ? (question mark) * (asterisk)
- Ganzzahliger Wert Null, manchmal auch als ASCII-NUL-Zeichen bezeichnet.
- Zeichen, deren ganzzahlige Darstellung im Bereich von 1 bis 31 liegt, mit Ausnahme alternativer Datenströme, in denen diese Zeichen zulässig sind. Weitere Informationen zu Dateiströmen finden Sie unter Dateiströme.
- Alle anderen Zeichen, die das Zieldateisystem nicht zulässt.
QuelleBenennen von Dateien, Pfaden und Namespaces
Aber ich möchte das trotzdem unbedingt machen.
Installierencygwinund verwenden Sie touch
.
Ich habe nicht alle Möglichkeiten getestet, aber Folgendes funktioniert:
touch :
touch \|
touch \"
touch \>
Beispielausgabe:
DavidPostill@Hal /f/test/impossible
$ ll
total 0
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:03 '"'
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:02 :
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:02 '|'
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:07 '>'
Wie Sie sehen, sind sie unter Windows nicht verwendbar:
F:\test\impossible>dir
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test\impossible
10/08/2016 21:07 <DIR> .
10/08/2016 21:07 <DIR> ..
10/08/2016 21:03 0
10/08/2016 21:02 0
10/08/2016 21:07 0
10/08/2016 21:02 0
4 File(s) 0 bytes
2 Dir(s) 1,772,601,536,512 bytes free
Antwort2
Erstellen Sie Ihren eigenen Schriftsatz. Ersetzen Sie einige der Zeichen, die Sie nicht verwenden, durch die Bilder der reservierten Zeichen.
Antwort3
Unter Windows können Sie keine Dateien mit diesen Zeichen erstellen. Es gibt keine Lösung, diese Zeichen sind von der Win32-API verboten.
Win32 ist eine Teilmenge des POSIX-Namespace und unterscheidet nicht zwischen Groß- und Kleinschreibung. Es werden alle Unicode-Zeichen verwendet, außer: '"' '*' '/' ':' '<' '>' '?' '\' '|' NB: Namen dürfen nicht mit einem Punkt '.' oder einem Leerzeichen enden.
--http://dubeyko.com/development/FileSystems/NTFS/ntfsdoc.pdf