Массовое копирование файлов с компакт-диска и переименование запрещенных имен файлов по пути
У меня есть старый компакт-диск с файлами Amiga, который я хочу скопировать на мой современный ПК с Windows 7.
Большинство файлов читаются нормально, но когда Windows находит файл с проблемным именем файла, она позволяет только пропустить этот файл. Он не будет автоматически копировать файл и удалять в нем запрещенные символы (например, "?" Или "|").
Я хочу эти якобы "запрещенные" файлы. Как заставить Windows автоматически переименовывать их при копировании и продолжить с остальными?
Я пробовал следующие программы файлового менеджера, но все безуспешно. Я даже попытался углубиться в параметры каждой программы, чтобы, надеюсь, использовать собственный метод копирования:
- FreeCommander XE (имеет свою собственную процедуру копирования, но все равно не работает)
- XYplorer (имеет собственную подпрограмму копирования, но все равно не работает)
- Двойной командир
- Каталог Opus 11 64-битный. (Pro edition)
- xplorer²
- Q-Dir
- Нереальный командир
- NexusFile
- Total Commander
- Мой командир
- Nomad.NET
- Просто менеджер
4 ответа
Все упомянутые вами решения являются общими файловыми менеджерами. Я предлагаю взглянуть на инструменты, специально предназначенные для изображения и копирования оптических носителей.
Я не фанат продвижения коммерческого программного обеспечения здесь, но я использовал IsoBuster несколько раз для очень похожих проблем довольно успешно. Хорошая новость: у них есть (ограниченная функциональность) бесплатная версия, так что вы можете попробовать ее, прежде чем купить.
Попробуйте cp
Утилита, которую я поставляю с моей оболочкой Hamilton C. (Полное раскрытие: я автор.) Внутренне я использовал новый длинный формат Microsoft UNC (используя \\?\
префикс) предназначен для предоставления доступа к файлам и каталогам с именами, содержащими произвольные символы. Я сомневаюсь, что многие другие производители используют это еще. Вы можете попробовать это с бесплатной демо-версией.
cp
не включает функцию автоматического переименования, поэтому эту часть вам придется выполнить одним из нескольких способов.
- Вы можете быть в состоянии
cp
весь каталог на вашем жестком диске с нечетными именами, затемmv
все вокруг по своему вкусу. Сначала создайте каталог, затемcp
все в каталог. Если эксперимент не удался, и вы застряли с некоторыми именами, которые вы не можете указать в командной строке, вы можете rm -x весь каталог и начать заново. - Вы могли бы написать сценарий, который копирует все части с нечетными именами индивидуально, определяя, как каждый кусок должен быть переименован в командной строке, чтобы
cp
, Этот скрипт может быть немного больше, чем длинный списокcp
отредактированные вами команды, возможно, начиная со списка имен файлов, сгенерированныхls -r1
,
Пожалуйста, дайте мне знать, как это работает. Вы можете связаться со мной в автономном режиме, если я могу быть полезным.
Проверьте ответ на: Как я могу массово переименовать файлы?
Утилита Bulk Rename - лучший ответ, в котором есть опции копирования и регулярные выражения соответствия / замены.
Проверяя руководство, у них также есть опция "Удалить символы":
Обратите внимание, что опция "Удалить символы" удаляет следующие символы (некоторые из которых недопустимы в любом случае в именах файлов):! £ $ % ^ & * () - _ = + [ ] { };: ' @ # ~, . /? \ | ` ¬ ¦
Вы должны быть в состоянии сделать это из командной строки в Windows довольно легко. Конкретно переименовывать при копировании я не уверен. Но я смог переместить "запрещенные" файлы, изменив или удалив расширение файла. Затем скопировал их и добавил расширение файла обратно.
Откройте командную строку. Перейдите в папку, где находятся ваши файлы.
cd C: \ File \ Directory \ With \ Your \ Files
ren *.txt *.doc
Еще лучше. Вот ссылка на что-то ранее написанное: http://www.windows-commandline.com/rename-file-extensions-bulk/
Может быть, это поможет.