Задать вопрос
@Wened

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

Есть массив файлов, для которых есть таблица со столбцами "старое имя" - "новое имя", для каждого уникальное и соответствие должно быть точным. Подскажите, пожалуйста, как автоматизировать переименование при помощи условного Total Commander? Нашел старый вопрос, где упоминается возможность загрузки в Total Commander имён из файла, но не разобрался, где она находится и как пользоваться.
P.S. Скрипты писать, увы, не умею.
  • Вопрос задан
  • 1662 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 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 - скопирует, причем в обоих случаях можно вместо нового имени файла указать только целевой каталог.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
от 60 000 до 120 000 ₽
Wanted. Москва
от 60 000 до 120 000 ₽
Wanted. Санкт-Петербург
До 120 000 ₽