webentwicklung-frage-antwort-db.com.de

Wie erstelle ich einen Ordner- oder Dateinamen mit Sonderzeichen wie \ /: *? "<> |

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.

8
Kirit_Vanani

Dies ist sehr wichtig für mich, die Benennung von Dateien/Ordnern, die diese Zeichen enthalten.

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:

  • \ - Reserviert für die Verwendung als Pfadtrennzeichen und Escape Zeichen
  • / - Reserviert zur Verwendung als Pfadtrennzeichen
  • : - Reserviert für die Verwendung als Laufwerksnamenbegrenzer
  • * und ? - Reserviert für die Verwendung als Platzhalter Zeichen
  • " - Reserviert für Anführungszeichen Namen mit Leerzeichen
  • <,> und | - Reserviert für die Verwendung als Befehl mleitung Operatoren

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.


Benennen von Dateien, Pfaden und Namespaces

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


Aber ich möchte das trotzdem tun.

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

enter image description here

16
DavidPostill

Erstellen Sie Ihren eigenen Schriftsatz. Ersetzen Sie einige der Zeichen, die Sie nicht verwenden, durch die Bilder der reservierten Zeichen.

3
Clayton

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

2
ChrisInEdmonton