Массовое копирование файлов с компакт-диска и переименование запрещенных имен файлов по пути

У меня есть старый компакт-диск с файлами 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 не включает функцию автоматического переименования, поэтому эту часть вам придется выполнить одним из нескольких способов.

  1. Вы можете быть в состоянии cp весь каталог на вашем жестком диске с нечетными именами, затем mv все вокруг по своему вкусу. Сначала создайте каталог, затем cp все в каталог. Если эксперимент не удался, и вы застряли с некоторыми именами, которые вы не можете указать в командной строке, вы можете rm -x весь каталог и начать заново.
  2. Вы могли бы написать сценарий, который копирует все части с нечетными именами индивидуально, определяя, как каждый кусок должен быть переименован в командной строке, чтобы 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/

Может быть, это поможет.

Другие вопросы по тегам