Mon problème est que, je ne peux pas donner le nom de mon dossier ou fichier avec des caractères spéciaux comme\/: *? "<> | dans Windows basé sur O. Ceci est très important pour moi, cela donnant le nom du fichier/dossier qui contient ce type de caractères.
Je recherche déjà et renvoie tellement de sites, pour ces problèmes, mais tous sont sans espoir. J'ai aussi lu la page de support de Microsoft, ils suggèrent d'utiliser d'autres caractères. C'est son lien, https://support.Microsoft.com/en-us/kb/177506
J'ai déjà essayé le bouton Alt + ASCII le numéro de code de ce type de caractères spéciaux, à partir de la touche pavé numérique, il suffit de renommer le fichier/dossier et d'appuyer sur Alt + 60 (pour <caractères). ne peut contenir aucun des caractères suivants:\/: *? "<> |
Suggérez-moi une solution appropriée pour pouvoir nommer mon fichier/dossier avec ce type de caractères spéciaux.
Cela peut être important pour vous, mais vous devrez laisser cela de côté et trouver un moyen différent de résoudre votre problème.
Ces caractères ne sont pas autorisés par les appels de fonction Windows qui gèrent les noms de fichiers.
Ils ne sont spécifiquement pas autorisés car ils ont un autre usage:
Vous pouvez bien entendu créer des fichiers avec des noms contenant ces caractères en utilisant un système d'exploitation différent (tant que ce système d'exploitation peut lire/écrire un système de fichiers Windows).
Cependant, vous ne pourrez rien faire avec ces fichiers avec des programmes Windows, ils ne comprendront pas les noms de fichiers et généreront des erreurs.
Conventions de dénomination
Les règles fondamentales suivantes permettent aux applications de créer et de traiter des noms valides pour des fichiers et des répertoires, quel que soit le système de fichiers:
...
Utilisez n'importe quel caractère de la page de codes actuelle pour un nom, y compris les caractères Unicode et les caractères du jeu de caractères étendu (128 à 255), à l'exception des éléments suivants:
Les caractères réservés suivants:
< (less than) > (greater than) : (colon) " (double quote) / (forward slash) \ (backslash) | (vertical bar or pipe) ? (question mark) * (asterisk)
- Valeur entière zéro, parfois appelée caractère ASCII NUL.
- Caractères dont les représentations entières sont comprises entre 1 et 31, à l'exception des flux de données alternatifs où ces caractères sont autorisés. Pour plus d'informations sur les flux de fichiers, voir Flux de fichiers.
- Tout autre caractère que le système de fichiers cible n'autorise pas.
Source noms, fichiers, chemins et espaces de noms
Installez cygwin et utilisez touch
.
Je n'ai pas testé toutes les possibilités mais les travaux suivants:
touch :
touch \|
touch \"
touch \>
Exemple de sortie:
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 '>'
Comme vous pouvez le constater, ils ne sont pas utilisables sous Windows:
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
Construisez votre propre jeu de polices. Remplacez certains des caractères que vous n'utilisez pas par les images des caractères réservés.
Sous Windows, vous ne pouvez pas créer de fichiers avec ces caractères. Il n'y a pas de solution, ces caractères sont interdits par l'API Win32.
Win32 est un sous-ensemble de l'espace de noms POSIX et ne respecte pas la casse. Il utilise tous les caractères Unicode, à l'exception de: '' '' * ''/'': '' <''> ''? ' '\' '|' NB Les noms ne peuvent pas se terminer par un point '.' Ou un espace ''.
- http://dubeyko.com/development/FileSystems/NTFS/ntfsdoc.pdf