@Wened

Переименование файлов по таблице соответствий?

Есть массив файлов, для которых есть таблица со столбцами "старое имя" - "новое имя", для каждого уникальное и соответствие должно быть точным. Подскажите, пожалуйста, как автоматизировать переименование при помощи условного Total Commander? Нашел старый вопрос, где упоминается возможность загрузки в Total Commander имён из файла, но не разобрался, где она находится и как пользоваться.
P.S. Скрипты писать, увы, не умею.
  • Вопрос задан
  • 1256 просмотров
Решения вопроса 1
@rPman
Берете вашу таблицу, добавляете одну колонку слева от ваших двух (старое, новое) и заполняете ее словом rename.
p.s. Если в именах файлов есть пробелы или символы типа слешей, скобок и прочее (не буквы и цифры) то каждое имя должно быть заключено в двойные ковычки (100 и один способ сделать это).

Затем выделяете все ячейки и копируете их в буфер, затем открываете ваш любимый текстовый редактор и вставляете туда содержимое буфера (альтернатива, сохранить файл csv или текст msdos, поэкспериментируйте).

Должно получиться что то типа:
rename old.txt new.txt
rename old2.txt new.txt
Затем сохраняете этот файл под каким-нибудь именем с расширением .bat (например go.bat) или .cmd в каталог, где лежат файлы.

Внимание, кодировка файлов должна быть msdos (cp866) если у вас есть русскоязычные символы в именах файлов. Следите чтобы это не была unicode, а точнее чтобы в начале файла ваш редактор не вставил BOM сигнатуру, это не фатально, просто первая строчка тогда будет ошибочной и будет проигнорирована.

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

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

Если файлы лежат в разных каталогах, то можно для каждого указывать либо полный путь типа c:\temp\zzz.txt либо относительный temp\aaa.zzz в этом случае go.bat должен быть размещен в этом начальном каталоге, где размещены все остальные.

Если первое слово в строке будет move вместо rename, то эта программа переместит файл со старого места на новое, а copy - скопирует, причем в обоих случаях можно вместо нового имени файла указать только целевой каталог.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы