Eu tenho uma caixa do Windows XP (sistema de arquivos NTFS) na qual encontrei um arquivo chamado NUL
. Não consegui remover este arquivo da maneira usual. O arquivo parece pertencer Administrator
ao SYSTEM
grupo, diferente de qualquer outro arquivo no mesmo diretório (os outros arquivos pertencem ao meu ID de usuário).
Como faço para me livrar desse arquivo? De onde veio?
windows
windows-xp
filesystems
ntfs
Greg Mattes
fonte
fonte
DELETE
comando usando o Prompt de Comando.aux.c
nomes semelhantes no código-fonte do software.) É apenas a API do Win32 que gerencia esses "nomes de dispositivos".Respostas:
Experimentar
no prompt de comando.
Consulte este artigo de suporte da Microsoft para obter detalhes: Você não pode excluir um arquivo ou uma pasta em um volume do sistema de arquivos NTFS , em "Causa 5: O nome do arquivo inclui um nome reservado no espaço para nome do Win32".
fonte
.
substituiu o?
..
vez de?
não faz exatamente a mesma coisa - o ponto de interrogação impede o processamento adicional pelo subsistema, enquanto o período significa "a máquina atual" ... não exatamente a mesma coisa, embora seja definitivamente confuso. :)\\.\
prefixo é para o espaço de nome do dispositivo , mas não há menção explícita que.
tenha o mesmo significado ("X atual") do nome dos diretórios.nul
arquivo, você pode:del "\\?\%CD%\nul"
A%CD%
peça é expandida para o diretório de trabalho e as aspas duplas ("
) fazem com que tudo lide também com nomes de caminho com símbolos "ímpares", por exemplo"\\?\C:\path,with\comma\nul"
.Como alternativa, se você tiver o Cygwin instalado, convém saber que ele não tem problemas com esses arquivos ou pastas. Particularmente,
digitado no terminal Cygwin exclui o arquivo ou pasta nomeada
nul
ou uma pasta que o contém. Isto também se aplica a outros nomes de arquivos especiais, comoCON
,PRN
,AUX
,COM1
,COM2
,COM3
,COM4
,COM5
,COM6
,COM7
,COM8
,COM9
,LPT1
,LPT2
,LPT3
,LPT4
,LPT5
,LPT6
,LPT7
,LPT8
.fonte
rm
comando GNU para não precisar do cygwin. Supondo que você adicione o diretório bin do GNU tools ao seu PATH, você pode usar todos os itens do GNU do cmd.Estou adicionando isso aqui, porque é alto nos resultados do google e tive um problema semelhante para uma pasta chamada NUL. Infelizmente, as correções acima não ajudaram. Nem uma tonelada de outras coisas que eu olhei.
Eu tentei
rmdir\\?\C:\My\Path\NUL
ermdir\\.\C:\My\Path\NUL
sem sucesso e também tentei vários comandos usando o bash da minha instalação do SourceTree. Sem alegriaNo final, usei
DIR /X /A
do cmd para listar os nomes abreviados no diretório pai. Isso retornouNUL~1
para minha pasta NUL.Isso foi usado no comando padrão
rmdir /s NUL~1
e finalmente corrigido o problema.fonte
Se você possui o Git for Windows Installed, faça o seguinte
Git Bash Here
rm nul.json
no prompt de comando e pressione ENTER; o arquivo agora deve ser removido.NOTA: Essas capturas de tela mostram a remoção do arquivo,
nul.topo.json
que é outro arquivo que não foi possível remover com uma simples exclusão.fonte