Назад | Перейти на главную страницу

Удалить файл, содержащий недопустимые символы в windows

У меня есть некоторые файлы, которые содержат символ двоеточия в имени файла (например, 1d67c0d23e859ed4a259749e4a720d9e: default-stock). Когда я пытаюсь удалить их из командной строки с помощью команды:

c:\backup> del /F *.*

Я получаю «Система не может найти указанный файл». для каждого файла. Если я укажу отдельный файл:

c:\backup> del /F "1d67c0d23e859ed4a259749e4a720d9e:default-sink"

Я получаю сообщение «Неверное имя файла, имя каталога или синтаксис метки тома». Если я попытаюсь использовать rd в родительской папке, я получу

Как мне удалить эти файлы?

В статье базы знаний Майкрософт перечислены возможные способы удаления таких файлов по адресу:

http://support.microsoft.com/kb/320081

Я обычно использую собственный метод API:

del "\\?\c:\path\1d67c0d23e859ed4a259749e4a720d9e:default-sink"

В соответствии с:

http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx

В : является зарезервированным символом в NTFS, метод API, упомянутый выше, является рекомендуемым способом удаления таких файлов.

Думаю, вы можете попробовать имя 8.3?

del /F 1d67c0~1

Обратите внимание, что на дисках NTFS вы можете явно отключить функциональность 8.3, так что в этом случае вам не повезло с этой опцией. Чтобы получить имя файла dir a dir /x

Раньше был бесплатный инструмент под названием delinvfile но они ушли и изменили его на условно-бесплатное / платное

Это сработало для меня:

  1. Ран chkdsk /f
  2. Перезагрузили ПК
  3. Затем я смог выбрать и удалить файл

Закройте все файлы, если они открыты, которые сохранены на диске, содержащем такие файлы. Теперь откройте свойства диска.

«Мой компьютер» -> «Щелкните правой кнопкой мыши на этом диске»> свойства

Затем перейдите к "инструменты"вкладка и нажмите"Проверь сейчас"под ярлыком" Проверка ошибок ".

Нажмите здесь для увеличения изображения

Это отключит ваш диск и просканирует весь диск на наличие ошибок, в конечном итоге он удалит такие файлы с недопустимыми именами. По завершении появится сообщение о том, что некоторые файлы были исправлены.

Я успешно удалил такие файлы со своего внешнего жесткого диска.

у меня есть Подсистема для UNIX-приложений установлен на моем ПК (Windows 7). Из оболочки Windows я могу создать файл с touch 1d67c0d23e859ed4a259749e4a720d9e:default-sink, затем удалите его с помощью rm *:*

Попробуйте переименовать родительскую папку в один символ (a, 1 и т. Д.), А затем попробуйте удалить родительскую папку. Если это не сработает, перейдите в первую дочернюю папку, переименуйте ее в один символ и попробуйте удалить еще раз. Я часто использую этот метод для файлов с недопустимыми символами (не спрашивайте меня, как они создаются, потому что я не знаю) или для файлов, путь которых превышает максимум (опять же, не спрашивайте, как это происходит).

7zip может удалять файлы, которые не удается Windows; Я использовал его в прошлом, когда имел дело с слишком длинными именами файлов, но я никогда не пробовал его для файлов с двоеточиями внутри. Обычно они используются для обозначения ADS.

У меня система с двойной загрузкой, и ни один из приведенных выше ответов не помог мне. Если файл находится на диске, который смонтирован другой вашей ОС (для меня Ubuntu 16.04 LTS), вы можете просто удалить его, используя другую ОС;)

Вы пробовали цитировать имена файлов? Было бы удобно дать точную команду, которую вы выполняете.

Вы пробовали использовать подстановочный знак? Например, "del 1d67c0d23e859ed4a259749e4a720d9e *. *" Может работать.

Вы пробовали dir / X узнать настоящее имя 8.3, а затем пытались удалить это имя?

Или может ли этот файл иметь альтернативный поток данных? Вы можете посмотреть на него с помощью инструмента http://www.nirsoft.net/utils/alternate_data_streams.html чтобы увидеть, что это может вам сказать (я никогда не использовал этот инструмент, он просто появился, когда я искал).

У меня была папка с запятой в названии. Я попробовал несколько из вышеперечисленных предложений, но не смог заставить их работать.

Мне удалось удалить папки с помощью cygwin. Это приложение не для всех, но оно выполнит свою работу.

Ни одно из приведенных выше предложений не помогло мне. Я использовал WinRar. Откройте winrar, и вы увидите список файлов, в котором вы найдете подозрительный файл «filename» (который был создан вами как «filename: some_text.txt». Переименуйте файл в Winrar и укажите расширение (например, .txt или .doc).

Вернитесь в проводник Windows и увидите «filename .txt» (или doc). Удалите его оттуда.