47

У меня есть Windows XP box (файловая система NTFS), в которой я нашел файл с именем NUL . Я не смог удалить этот файл любым обычным способом. Файл, кажется, принадлежит Administrator в группе SYSTEM , в отличие от любого другого файла в том же каталоге (другие файлы принадлежат моему идентификатору пользователя).

Как мне избавиться от этого файла? Откуда это?

4 ответа4

82

Пытаться

Del \\?\C:\My\Path\NUL

в командной строке.

Подробнее см. В этой статье службы поддержки Microsoft: вы не можете удалить файл или папку на томе файловой системы NTFS, в разделе «Причина 5: имя файла включает зарезервированное имя в пространстве имен Win32».

13

В качестве альтернативы, если у вас установлен Cygwin , вы можете узнать, что у него нет проблем с такими файлами или папками. В частности,

rm -r /cygdrive/c/path/to/the/file/or/folder/you/want/to/delete

набранный в терминале Cygwin удаляет файл или папку с именем nul или папку, содержащую его. Это также применимо и к другим специальным именам файлов , таких как CON PRN AUX COM1 COM2 COM3 COM4 COM5 COM6 COM7 COM8 COM9 LPT1 LPT2 LPT3 LPT4 LPT5 LPT6 LPT7 LPT8 ,

8

Я добавляю это здесь, потому что это высоко в результатах Google, и у меня была похожая проблема для папки с именем NUL. К сожалению, вышеуказанные исправления не помогли. Также не было тонны других вещей, на которые я смотрел.

Я пробовал rmdir\\?\C:\My\Path\NUL и rmdir\\.\C:\My\Path\NUL безуспешно, а также попробовал несколько команд, используя bash из моей установки SourceTree. Нет радости

В конце я использовал DIR /X /A из cmd, чтобы перечислить короткие имена в родительском каталоге. Это вернуло NUL~1 для моей папки NUL.

Затем это было использовано в стандартной команде rmdir /s NUL~1 и, наконец, исправило проблему.

0

Если у вас установлен Git для Windows, сделайте следующее

  1. Откройте каталог, содержащий файлы, которые вы хотите удалить
  2. Щелкните левой кнопкой мыши и выберите Git Bash Here
  3. Введите в командной строке rm nul.json и нажмите клавишу ВВОД, теперь файл должен быть удален.

запустить Git Bash Здесь

ПРИМЕЧАНИЕ. На этих снимках экрана показано удаление файла nul.topo.json который является другим файлом, который я не смог удалить простым удалением.

после выполнения команды

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .