Перейменування невірного імені файлу в NTFS


9

Нещодавно я позичив свій флеш-диск одному зі своїх друзів, у яких була Mac OS. Він скопіював на нього файл, ім'я якого містило зворотну косу рису (\).

Флеш-диск відформатований NTFS. Windows не дозволяє таких імен і не відкриває файл, не видаляє його, і не дозволяє мені видалити файл.

Існують наївні підходи до цієї проблеми, такі як:

  • Форматування флеш-диска;
  • Повернення його моєму другу і прохання перейменувати його;
  • Завантаження в деякий живий Linux і перейменування його.

Однак я шукаю щось більш розумне, як програму, яка може виконати трюк під Windows.

PS: Існує інструмент під назвою NTFSWalker, який може переглядати записи MFT NTFS, але не в змозі вносити в них жодних змін.


2
Ви знайдете Як змусити Windows XP перейменувати файл із спеціальним символом? також корисне читання - єдиною реальною відповіддю було використання Linux.
DMA57361

Спробуйте перевірити диск. (Клацніть правою кнопкою миші на піктограму диска → Властивості → Інструменти → у розділі Перевірка помилок натисніть кнопку Перевірити зараз → встановити прапорець Автоматично виправити помилки файлової системи.) Це було однією з пропозицій у зв'язаному вище питанні, але його ніколи не намагалися.
Bavi_H

@Bavi_H: Вибачте, Check Check також не працював.
MS Dousti

Відповіді:


5

Усі API Win32 використовують зворотну косу рису як роздільник каталогів. Є невелика ймовірність, що підсистема POSIX сприймає її як частину імені файлу, тому ви можете спробувати mvу службі для Unix .


Я б не сказав, що використання Linux для виправлення є "наївним", якби Unix був тим, що порушив його в першу чергу.


Я намагався mvраніше. Це не спрацювало.
MS Dousti

Про "наївне": я мав на увазі якесь рішення, яке спадає на думку в першу чергу.
MS Dousti

@Sadeq: Про що mvти говориш?
користувач1686

2
@Sadeq: Обидва вони є простими програмами Win32. Я чітко згадав Служби для Unix чомусь - її програми працюють в окремій підсистемі "POSIX" , з іншими правилами, ніж правила Win32.
користувач1686

1
Підсистема POSIX також використовує NtOpenFileдля відкриття файлів і NtOpenFileтрактує шлях в цілому, а не як ряд компонентів (є прапор для використання семантики "POSIX", але це лише для чутливості до регістру) - тому воно дотримується тих же правил.
користувач541686

3

Я виявив, що 7zip часто може мати справу з дивними файлами, коли Windows не працює (корисно для шляхів, які занадто довго видаляються нормально) - спробуйте це.


Вибачте. 7zвидає таку ж помилку, що і Windows.
MS Dousti

Не працює і для мене
Марк Єронімус

2
7z спрацював із моєю справою деякою магією, якою були імена файлів, що закінчувалися невідповідним космічним символом. Я спробував безліч утиліт для боротьби з цим, але працював лише 7z.
Майк Сімпсон

2

Ви можете використовувати CHKDSK /Fз DOS-підказки для виправлення помилок, а потім, RD /S <DIR>де <DIR>знаходиться каталог, який ви хочете видалити. Будьте уважні, оскільки це видалить каталог і всі його підкаталоги.


-1

Я відкрив папку з недоступними файлами символів у файлі диспетчера 7zip. Там я перейменував його і BINGO, він перейменований. Таким чином я зміг отримати доступ до файлу.

7zip - безкоштовна утиліта для стиснення файлів, краща за RAR.


5
Чи не ваша відповідь така, як у Дентрасі?
MS Dousti
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.