Tengo un cuadro de Windows XP (sistema de archivos NTFS) en el que encontré un archivo llamado NUL
. No he podido eliminar este archivo de la forma habitual. El archivo parece ser propiedad Administrator
del SYSTEM
grupo, a diferencia de cualquier otro archivo en el mismo directorio (los otros archivos son propiedad de mi ID de usuario).
¿Cómo me deshago de este archivo? ¿De dónde vino?
windows
windows-xp
filesystems
ntfs
Greg Mattes
fuente
fuente
DELETE
comando mediante el símbolo del sistema.aux.c
nombres similares en el código fuente del software). Es puramente la API Win32 la que administra estos "nombres de dispositivos".Respuestas:
Tratar
en el símbolo del sistema.
Consulte este artículo de soporte técnico de Microsoft para obtener más información: no puede eliminar un archivo o una carpeta en un volumen del sistema de archivos NTFS , en "Causa 5: el nombre del archivo incluye un nombre reservado en el espacio de nombres Win32".
fuente
.
lugar de la?
..
lugar de?
no hace exactamente lo mismo: el signo de interrogación impide el procesamiento posterior por parte del subsistema, mientras que el período significa "la máquina actual" ... no es exactamente lo mismo, aunque definitivamente es confuso. :)\\.\
prefijo es para el espacio de nombres del dispositivo , pero no hay ninguna mención explícita que.
tenga el mismo significado ("X actual") que para los nombres de directorio.nul
archivo, puede:del "\\?\%CD%\nul"
La%CD%
parte se expande al directorio de trabajo y las comillas dobles ("
) hacen que todo maneje también los nombres de ruta con símbolos "impares", por ejemplo"\\?\C:\path,with\comma\nul"
.Alternativamente, si tiene instalado Cygwin , es posible que desee saber que no tiene ningún problema con dichos archivos o carpetas. Particularmente,
tipeado en el terminal Cygwin elimina el archivo o carpeta nombrada
nul
o una carpeta que lo contiene. Esto es también aplicable a otros nombres de archivos especiales tales comoCON
,PRN
,AUX
,COM1
,COM2
,COM3
,COM4
,COM5
,COM6
,COM7
,COM8
,COM9
,LPT1
,LPT2
,LPT3
,LPT4
,LPT5
,LPT6
,LPT7
,LPT8
.fuente
rm
comando GNU, por lo que no necesita cygwin. Suponiendo que agregue el directorio bin de herramientas GNU a su RUTA, puede usar todos los objetos GNU de cmd.Estoy agregando esto aquí porque está alto en los resultados de Google y tuve un problema similar para una carpeta llamada NUL. Lamentablemente, las soluciones anteriores no ayudaron. Tampoco un montón de otras cosas que miré.
Lo intenté
rmdir\\?\C:\My\Path\NUL
yrmdir\\.\C:\My\Path\NUL
sin éxito y también probé varios comandos usando bash desde mi instalación de SourceTree. Sin alegría.Al final, utilicé
DIR /X /A
desde cmd para enumerar los nombres cortos en el directorio principal. Esto regresóNUL~1
para mi carpeta NUL.Esto se usó en el comando estándar
rmdir /s NUL~1
y finalmente solucionó el problema.fuente
Si tiene instalado Git para Windows, haga lo siguiente
Git Bash Here
rm nul.json
en el símbolo del sistema y presione ENTRAR, el archivo ahora debe eliminarse.NOTA: Estas capturas de pantalla muestran la eliminación del archivo,
nul.topo.json
que es otro archivo que no pude eliminar con una simple eliminación.fuente