J'ai un ordinateur Windows XP (système de fichiers NTFS) sur lequel j'ai trouvé un fichier nommé NUL
. Je n'ai pas été en mesure de supprimer ce fichier de manière habituelle. Le fichier semble appartenir Administrator
au SYSTEM
groupe, contrairement à tout autre fichier du même répertoire (les autres fichiers sont la propriété de mon identifiant utilisateur).
Comment puis-je me débarrasser de ce fichier? D'où vient-il?
windows
windows-xp
filesystems
ntfs
Greg Mattes
la source
la source
DELETE
commande en utilisant Invite de commandes.aux.c
des noms similaires dans le code source du logiciel.) C'est purement l'API Win32 qui gère ces "noms de périphériques".Réponses:
Essayer
dans l'invite de commande.
Consultez cet article du support technique Microsoft pour plus de détails: Vous ne pouvez pas supprimer un fichier ou un dossier sur un volume de système de fichiers NTFS , sous "Cause 5: le nom du fichier inclut un nom réservé dans l'espace de noms Win32".
la source
.
lieu à la place du?
..
au lieu de?
ne fait pas tout à fait la même chose - le point d'interrogation empêche tout traitement ultérieur par le sous-système, alors que le point signifie "la machine actuelle" ... pas tout à fait la même chose, bien que ce soit définitivement déroutant. :)\\.\
préfixe est pour l'espace de noms de périphérique , mais il n'y a aucune mention explicite qui.
a la même signification ("X actuel") que pour les noms de répertoire.nul
fichier, vous pouvez:del "\\?\%CD%\nul"
La%CD%
pièce est développée dans le répertoire de travail et les guillemets doubles ("
) permettent de gérer tous les chemins avec des symboles "impairs", par exemple"\\?\C:\path,with\comma\nul"
.Si vous avez installé Cygwin , vous pouvez également savoir qu’il n’ya aucun problème avec de tels fichiers ou dossiers. Particulièrement,
saisi dans le terminal Cygwin supprime le fichier ou le dossier nommé
nul
ou un dossier le contenant. Ceci est également applicable à d' autres noms de fichiers spéciaux tels queCON
,PRN
,AUX
,COM1
,COM2
,COM3
,COM4
,COM5
,COM6
,COM7
,COM8
,COM9
,LPT1
,LPT2
,LPT3
,LPT4
,LPT5
,LPT6
,LPT7
,LPT8
.la source
rm
commande GNU , vous n'avez donc pas besoin de cygwin. En supposant que vous ajoutiez le répertoire bin des outils GNU à votre PATH, vous pouvez utiliser tous les goodies GNU de cmd.J'ajoute ceci ici car il est élevé dans les résultats de Google et j'ai eu un problème similaire pour un dossier nommé NUL. Malheureusement, les corrections ci-dessus n'ont pas aidé. Aucune tonne d'autres choses que j'ai regardées.
J'ai essayé
rmdir\\?\C:\My\Path\NUL
etrmdir\\.\C:\My\Path\NUL
sans aucun succès et j'ai également essayé plusieurs commandes en utilisant bash depuis mon installation de SourceTree. Pas de joie.En fin de compte, j'ai utilisé à
DIR /X /A
partir de cmd pour lister les noms abrégés dans le répertoire parent. Ceci est revenuNUL~1
pour mon dossier NUL.Cela a ensuite été utilisé dans la commande standard
rmdir /s NUL~1
et a finalement résolu le problème.la source
Si vous avez installé Git pour Windows, procédez comme suit:
Git Bash Here
rm nul.json
à l'invite de commande et appuyez sur Entrée, le fichier doit maintenant être supprimé.REMARQUE: Ces captures d'écran montrent la suppression du fichier,
nul.topo.json
qui est un autre fichier que je ne pouvais pas supprimer avec une simple suppression.la source