6

У меня есть несколько файлов с «невозможными именами файлов». Я не говорю о специальных персонажах или любых других, но действительно невозможных. (файловая система NTFS)

Один файл называется images\receipt.jpg (да, это просто имя файла, а не путь + имя файла)

другой называется ..\..\data\

другая называется "\n" (одна новая строка, экранированная, так что вы можете увидеть ее здесь)

Они созданы Ubuntu, когда я сохранял / перемещал файлы с помощью своего Windows-ума (я не знаю, как создается третий). У меня больше нет Linux или live-CD.

Я попробовал каждое предложение в ранее заданных вопросах, но, возможно, что-то новое возможно, так как 2 года назад.

CHKDSK /F /X не работает

Использование имени файла 8.3 не работает (для этих файлов нет имен файлов 8.3)

REN не работает

RD /S не работает

7-Zip не работает

Я даже не могу выполнить дефрагментацию диска, потому что дефрагментатор отключается, когда сталкивается с этими файлами во время анализа.

Я попытался запрограммировать свою собственную функцию переименования, но без низкоуровневых системных вызовов (ядро defrag api приходит на ум, но слишком опасно просто пытаться), он упорядочивает элементы пути по символам «\», поэтому не может найти » receive.jpg "в папке ~~/" images/"и т. д.

Есть ли программа, которую я могу использовать, чтобы переименовать / удалить их? Возможно, что-то вроде PCTools (20-летняя DOS-программа), которая может «редактировать» сектора, как Hex-редактор?

2 ответа2

3

По умолчанию каждый файл и каталог в файловой системе NTFS имеет два имени, по которым он может быть доступен: длинное имя файла и короткое имя файла. Короткие имена файлов соответствуют соглашению об именах 8.3, которое вы можете использовать для удаления этих файлов с помощью командной строки. Например:

C:\>del C:\example\IMAGES~1.JPG

Вы можете узнать краткое имя файла, введя команду dir /X (это заглавная буква X).

Поскольку короткие имена файлов являются дополнительной функцией NTFS, возможно, эти файлы не имеют коротких имен. В этом случае вы можете сделать это, используя расширенную форму путей к файлам. Вы делаете это, предугадывая \\?\ к полному пути файла, заключив его в кавычки:

C:\>del "\\?\C:\Example\images\receipt.jpg"

Если ничего не помогает, загрузите другой Linux Live CD и удалите их оттуда. Если загрузка Ubuntu слишком велика, доступны меньшие дистрибутивы .

0

Попробуйте FreeCommander. (через эту ветку форума: (решено) - помогите переименовать после ALT+255)

Также может пригодиться трюк с клавишей ALT для ввода неправильных символов имени файла :

  • Удерживайте Alt при вводе номера кода ASCII символа, чтобы ввести этот символ.
  • Например, удерживая Alt, введите 092 на цифровой клавиатуре, чтобы вставить \ ; 013 для вставки \n
  • Вам может понадобиться использовать четыре цифры, такие как 0092 и 0013 ...

Лично я бы просто сделал быстрый LiveLinux usb и исправил бы его оттуда. Есть ли причина, по которой вы не можете использовать Linux?

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