Comment puis-je créer un nom de fichier avec des caractères invalides tels que:?>?

11

Je dois créer un fichier avec un nom de fichier tel que :>?, est-ce possible d'une manière ou d'une autre? Windows l'arrête.

moorecats
la source
5
Eh bien, chaque caractère restreint a une autre signification ou un autre usage, donc si un nom de fichier ou de dossier les contenait, cela pourrait provoquer Bad Things ™. Cela vous dérange si je vous demande pourquoi vous essayez de faire cela?
DMA57361
@ DMA57361, quand je l'ai fait il y a quelques années, je testais certaines choses. Si je me souviens bien, les résultats étaient amusants, mais je ne recally rien de spécifiquement mauvais qui se passe. Tout au plus, je n'ai tout simplement pas pu y accéder. (Bien que je suppose que cela pourrait causer des problèmes si par exemple, vous aviez des fichiers nommés a, bet a>bet avez essayé de visualiser le dernier fichier en utilisant type a>b. Oups.)
Synetech
@moorecast, quand je l'ai fait il y a quelques années, j'ai créé les fichiers / répertoires avec des noms factices, puis j'ai utilisé un éditeur de disque pour définir manuellement les noms dans les entrées du répertoire directement. Bien sûr, c'était sur un volume FAT32, donc c'était très facile. Ce serait un peu plus difficile sur un volume NTFS.
Synetech
2
Mind if I ask why you are trying to do this?Peut-être pour mettre en œuvre une (mauvaise) protection contre la copie ?
Synetech
"Je dois créer un fichier avec un nom de fichier tel que:>?" - Je doute que vous ayez besoin de faire ça.
Jim Balter

Réponses:

14

Malheureusement, vous ne pouvez pas utiliser les caractères réservés lors de la création de dossiers ou de fichiers car ils font partie des fonctions système.

Ce que je vous recommande de faire est de parcourir l' Character Mapapplication - Vous pouvez aller exécuter et taper charmap.

à partir d'ici, vous pourrez peut-être trouver d'autres symboles qui se ressemblent, par exemple:

(copiez et collez ceux-ci, vous verrez qu'ils sont différents)

Au lieu d'une barre oblique /- vous pouvez utiliser un symbole de division

Au lieu de :deux points - vous pouvez utiliser la lettre modificatrice deux points

etc!

texte alternatif

William Hilsum
la source
Rendant encore plus difficile à supprimer! :-)
Arjan
3
@Arjan - uniquement via l'invite de commande .. même alors, vous pouvez utiliser la touche de tabulation pour la saisie semi-automatique.
William Hilsum
4
/est une barre oblique - pas une barre oblique inverse
Suspendue jusqu'à nouvel ordre.
1
J'ai utilisé cette astuce pour certaines situations, comme lorsque je dois poser une question dans un nom de fichier ( pourquoi oh pourquoi Microsoft a-t-il réservé le point d'interrogation question ‽_ఠ) Malheureusement, j'ai dû cesser d'utiliser des caractères non ASCII car ils causent des problèmes avec des choses comme les programmes de défragmentation qui, pour une raison quelconque, semblent incapables de déplacer les fichiers qui ont des caractères Unicode dans leurs noms. ಠ ~ ಠ
Synetech
À bien y penser, cette réponse ne répond pas non plus à la question. Il y a des réponses ci-dessous qui le font , donc cela aussi ne devrait être qu'un commentaire.
Synetech
5

Vous pouvez démarrer à partir d'un disque Linux (tel que Knoppix ) et monter la partition NTFS.

Linux a beaucoup moins de restrictions sur les noms de fichiers et vous permettra de créer de tels noms (je l'ai essayé).

sleske
la source
5

Certains systèmes d'exploitation interdisent certains caractères particuliers d'apparaître dans les noms de fichiers: (Ressource de Wikipedia )

/ slash utilisé comme séparateur de composants de nom de chemin dans les systèmes de type Unix, Windows et Amiga. (Le shell command.com de MS-DOS le consommerait comme caractère de commutateur, mais Windows lui-même l'accepte toujours comme séparateur [2] [vague])

\ backslash Également utilisé comme séparateur de composants de nom de chemin dans MS-DOS, OS / 2 et Windows (il n'y a pas de différence entre barre oblique et barre oblique inverse); autorisé dans le nom de fichier Unix

? point d'interrogation utilisé comme caractère générique sous Unix, Windows et AmigaOS; marque un seul caractère. Autorisé dans les noms de fichiers Unix

* astérisque utilisé comme caractère générique sous Unix, MS-DOS, RT-11, VMS et Windows. Marque toute séquence de caractères (Unix, Windows, versions ultérieures de MS-DOS) ou toute séquence de caractères dans le nom de base ou l'extension (donc " . " Dans les premières versions de MS-DOS signifie "tous les fichiers". Autorisé dans les noms de fichiers Unix ,

: deux points utilisés pour déterminer le point de montage / lecteur sous Windows; utilisé pour déterminer le périphérique virtuel ou le périphérique physique tel qu'un lecteur sur AmigaOS, RT-11 et VMS; utilisé comme séparateur de chemin dans Mac OS classique. Doublé après un nom sur VMS, indique le nom de noeud DECnet (équivalent à un nom d'hôte NetBIOS (réseau Windows) précédé de "\".)

| la barre verticale désigne le pipeline de logiciels sous Unix et Windows; autorisé dans les noms de fichiers Unix

"guillemet utilisé pour marquer le début et la fin des noms de fichiers contenant des espaces dans Windows

<inférieur à celui utilisé pour rediriger l'entrée, autorisé dans les noms de fichiers Unix

> supérieur à celui utilisé pour rediriger la sortie, autorisé dans les noms de fichiers Unix

. période autorisée mais la dernière occurrence sera interprétée comme le séparateur d'extension dans VMS, MS-DOS et Windows. Dans d'autres systèmes d'exploitation, généralement considérés comme faisant partie du nom de fichier, et plusieurs arrêts peuvent être autorisés.

subanki
la source
2
Vous pouvez composer en toute sécurité l'hyperbole <bold>: il est possible d'importer des fichiers avec des caractères illégaux, superuser.com/questions/31587 .
hyperslug
2
La question n'est pas de savoir pourquoi je ne peux pas utiliser certains caractères dans les noms de fichiers ; c'est comment puis-je forcer l'utilisation de caractères réservés . En tant que telle, cette réponse est une réponse à une question différente . Tout au plus, cela devrait être un commentaire avec un lien vers l'article Wikipedia.
Synetech
2

La seule façon est de modifier manuellement le disque dur à l'aide d'un programme comme HxD . Si vous faites cela cependant, les fichiers ne seront probablement pas accessibles par aucun programme. Par exemple, si vous essayez d'ouvrir un fichier nommé abc\def.txt, vous obtiendrez un message indiquant que le répertoire abcn'existe pas.

zildjohn01
la source
+1 Voici comment je l'ai fait il y a quelque temps. J'ai pu facilement utiliser chaque caractère réservé en modifiant directement les entrées du répertoire FAT. (C'est également possible dans NTFS, mais un peu plus impliqué.)
Synetech
2

Vous pouvez installer le sous-système pour les applications Unix si vous utilisez Ultimate ou Enterprise. De là, vous pouvez créer de tels noms.

Joey
la source