Mein Problem ist, dass ich den Namen meines Ordners oder meiner Datei nicht mit Sonderzeichen wie\/: * angeben kann? "<> | in Windows-basierten O.S. Dies ist für mich sehr wichtig, da der Name der Datei/des Ordners angegeben wird, die diese Art von Zeichen enthält.
Ich suche und verweise schon so viele Seiten, für diese Probleme sind aber alle hoffnungslos. Ich habe auch die Support-Seite von Microsoft gelesen. Sie schlagen vor, andere Zeichen zu verwenden. Dies ist der Link, https://support.Microsoft.com/en-us/kb/177506
Ich probiere schon Alt-Taste + ASCII Code-Nummer dieser Art von Sonderzeichen, aus der Numpad-Taste, nur zum Beispiel Datei/Ordner umbenennen und Alt + 60 (für <Zeichen) drücken darf keines der folgenden Zeichen enthalten:\/: *? "<> |
Schlagen Sie mir eine geeignete Lösung vor, damit ich mit dieser Art von Sonderzeichen den Namen meiner Datei/meines Ordners angeben kann.
Es mag für Sie wichtig sein, aber Sie müssen dies loslassen und einen anderen Weg finden, um Ihr Problem zu lösen.
Diese Zeichen sind in den Windows-Funktionsaufrufen, die Dateinamen verarbeiten, nicht zulässig.
Sie sind ausdrücklich nicht erlaubt, weil sie eine andere Verwendung haben:
Natürlich können Sie Dateien mit Namen, die diese Zeichen enthalten, unter einem anderen Betriebssystem erstellen (sofern dieses Betriebssystem ein Windows-Dateisystem lesen/schreiben kann).
Mit diesen Dateien können Sie jedoch mit Windows-Programmen nichts anfangen, und sie verstehen die Dateinamen nicht und erzeugen Fehler.
Namenskonventionen
Die folgenden Grundregeln ermöglichen es Anwendungen, gültige Namen für Dateien und Verzeichnisse unabhängig vom Dateisystem zu erstellen und zu verarbeiten:
...
Verwenden Sie ein beliebiges Zeichen in der aktuellen Codepage für einen Namen, einschließlich Unicode-Zeichen und Zeichen im erweiterten Zeichensatz (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 Darstellungen im Bereich von 1 bis 31 liegen, mit Ausnahme von alternativen Datenströmen, in denen diese Zeichen zulässig sind. Weitere Informationen zu Dateistreams finden Sie unter Dateistreams.
- Alle anderen Zeichen, die das Zieldateisystem nicht zulässt.
Quelle Benennen von Dateien, Pfaden und Namespaces
Installieren Sie cygwin und verwenden Sie touch
.
Ich habe nicht alle Möglichkeiten getestet, aber die folgenden Arbeiten:
touch :
touch \|
touch \"
touch \>
Beispielausgabe:
[email protected] /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 können, 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
Erstellen Sie Ihren eigenen Schriftsatz. Ersetzen Sie einige der Zeichen, die Sie nicht verwenden, durch die Bilder der reservierten Zeichen.
In Windows können Sie keine Dateien mit diesen Zeichen erstellen. Es gibt keine Lösung, diese Zeichen werden 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: '"' '*' '/' ':' '<' '>' '?' '\' '|' N.B. Namen dürfen nicht mit Punkt '.' Oder Leerzeichen '' enden.
- http://dubeyko.com/development/FileSystems/NTFS/ntfsdoc.pdf