|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Пакетное переименование файлов (синхронизирование имён одного расширения с другим) |
|
CMD/BAT - [решено] Пакетное переименование файлов (синхронизирование имён одного расширения с другим)
|
Пользователь Сообщения: 65 |
Профиль | Отправить PM | Цитировать
Имеется произвольный список файлов *.mkv
А также список допустим *.ac3 абв 1.mkv абц2.mkv ... test 1.ac3 test 34.ac3 ... Требуется 1-ый найденный ac3 переименовать, взяв имя из 1-ого найденного mkv, порядок сортировки обычный, соотвественно, должно стать: test 1.ac3 ->абв 1.ac3 test 34.ac3->абц2.ac3 Дальше извлечения из mkv-файлов списка имен без расширения в txt-файл уйти мне не удалось: Цикл, который пробежится по всем строчкам nameslist.txt я сделать могу Цикл, который переименует каждый файл *.ac3 в какое-то конкретное имя, например, со счетчиком я тоже могу. А не могу я совместить эти 2 цикла, чтобы для 1ого файла ac3 сопоставить 1ую строчку из nameslist.txt, для 2ого - 2ую строчку и т.д. Вот тут (http://forum.oszone.net/thread-184481.html) похожая задача решалась, но более простая, т.к. исходное имя переименовываемого файла там конкретное, а не призвольное-полностью неизвестное как в моём случае. |
|
Отправлено: 21:50, 03-03-2011 |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Цитата 19w85:
Теперь то, что у Вас выделено красным: ^ren - символ ^ ставится, чтобы cmd не принял это за команду, а просто как текст. "%%a" "^>!n!"/" - ну первая часть - просто путь файла с расширением ac3, вторая - идентификатор для будущих действий. Примерно так это выглядит в виде текста: ren "a.ac3" ">1"/. После второго прохода цикла - ren "a.ac3" ">1"/ren "b.ac3" ">2"/ ну и т.д. %%arr:^>!n2!=%%~ni.ac3%% - замена счетчика на имя файла с расширением mkv. Где-то так: %%arr:>1=имяMKVфайла.ac3%% :/=^& - замена символа / на &. 2>nul (%arr:~,-1%) - ну а это, собственно само переименование. 2>nul - не выводить сообщения об ошибках. %arr:~,-1% - массив получившихся команд REN. Без последнего символа. Выглядит примерно так: ren "a.ac3" "имя1.ac3"&ren "b.ac3" "имя2.ac3"&ren "c.ac3" "имя3.ac3" |
|
Отправлено: 11:35, 09-03-2011 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1264
|
Профиль | Отправить PM | Цитировать 19w85, ересь №2 , только покороче:
|
Отправлено: 21:32, 09-03-2011 | #12 |
Пользователь Сообщения: 65
|
Профиль | Отправить PM | Цитировать El Sanchez,
Покороче - это отлично, спасибо! По этому коду даже вопросов нет, всё проще и понятнее. (я как раз в своих попытках и пытался реализовать именно такой способ через 'Set FN%%A=%%B' только ошибок много наделал, теперь смог увидеть, где именно, ещё раз спасибо) |
Отправлено: 23:21, 09-03-2011 | #13 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Цитата:
http://it.dnepro.org/2013/120.html |
|
Последний раз редактировалось dionus, 04-10-2013 в 22:21. Отправлено: 22:02, 04-10-2013 | #14 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Доступ - [решено] Подключение сетевого диска под другим именем | khs | Microsoft Windows 2000/XP | 6 | 03-10-2019 12:53 | |
CMD/BAT - [решено] Пакетное переименование файлов | ArsenBespalov | Скриптовые языки администрирования Windows | 9 | 11-08-2016 03:56 | |
[решено] Пакетное переименование ярлыков | SimSim | Хочу все знать | 9 | 24-10-2012 10:44 | |
CMD/BAT - [решено] Пакетное переименование с использованием алфавитного счётчика | kotik147 | Скриптовые языки администрирования Windows | 6 | 13-05-2010 00:03 | |
Возвращение ПК в домен под другим именем | El Scorpio | Microsoft Windows NT/2000/2003 | 2 | 06-08-2008 09:45 |
|