|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Переименование файлов с указанием порядкового номера |
|
CMD/BAT - [решено] Переименование файлов с указанием порядкового номера
|
Ветеран Сообщения: 1014 |
Профиль | Отправить PM | Цитировать
Есть количество файлов которые нужно переименовать.
Прошу помощи - нужен универсальный (по возможности) батник который будет переименовывать файлы. Важно не то, какое будет текстовое название ( по умолчанию используется исходное название и , как второй вариант - оно должно задаваться пользователем), а то, чтобы в начале названия присутствовал порядковый номер. Например: textA_textB_text001.xxx textA_textB_text002.xxx ....................................... на 001_textA_textB.xxx 002_textA_textB.xxx ................................ чтобы при переименовании файла сохранялся свой оригинальный порядковый номер. Например так: Спасибо! |
|
Отправлено: 13:13, 30-04-2011 |
Ветеран Сообщения: 1758
|
|
Последний раз редактировалось Foreigner, 30-04-2011 в 15:52. Отправлено: 15:40, 30-04-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1014
|
Профиль | Отправить PM | Цитировать Foreigner, Отлично! Спасибо - работает.
Пожалуйста, ещё бы вариант привязки к исходному названию. Чтобы не вносить название каждый раз вручную. Вот так: И, наберусь наглости ещё попросить обЪяснить как работает Ваш код.. |
Отправлено: 11:17, 01-05-2011 | #3 |
Ветеран Сообщения: 1758
|
shao,
Цитата:
Цитата:
@echo off setlocal :: Перебираем все файлы *.ххх в текущей директории и каждый :: из них передаём в процедуру переименовывания (метка :ren) for %%i in (*.xxx) do call:ren "%%i" :: Выход из батника goto:eof :: Здесь переименовываем поступивший из цикла for файл :ren :: Переменная old получает значение имени файла set "old=%~n1" :: Переменная pref получает подстроку -- 3 последних символа в имени файла, т.е. номер set "pref=%old:~-3%" :: Переименовываем файл ren %1 "%pref%_%old:~0,-3%%~x1" :: Где: :: %1 -- поступивший файл :: %old:~0,-3% -- подстрока из имени с 1 до -3 символа ( т.е. отрезали номер ) :: %~x1 -- расширение файла ( .ххх ) |
||
Отправлено: 12:15, 01-05-2011 | #4 |
Ветеран Сообщения: 1014
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 00:04, 02-05-2011 | #5 |
Ветеран Сообщения: 1758
|
shao,
:: Увеличиваем с каждым вызовом порядковое число ( перем. %cnt% ) на 1 set /a cnt+=1 :: Определяем числовой префикс для будущего переименования ( 001, 0010, 00122 и т.д. ) set "pref=00%cnt%" :: Переименовываем ren %1 "%pref:~-3%_newname.txt" :: Где %1 -- исходное имя файла, переданное из цикла for :: %pref:~-3% -- префикс, приведенный к одной длине, взяты три последние символа ( 001, 010, 122 ). |
Отправлено: 08:24, 02-05-2011 | #6 |
Ветеран Сообщения: 1014
|
Профиль | Отправить PM | Цитировать Foreigner, Спасибо Вам за помощь!
Всё понятно , кроме одного. Что такое "cnt" ? |
Отправлено: 11:18, 02-05-2011 | #7 |
Ветеран Сообщения: 1758
|
Цитата shao:
|
|
Отправлено: 11:26, 02-05-2011 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата shao:
|
|
Отправлено: 13:49, 02-05-2011 | #9 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 16:18, 03-05-2011 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Смена порядкового номера монитора | M1ndW0rk | Microsoft Windows 2000/XP | 19 | 04-12-2020 23:39 | |
CMD/BAT - [решено] Список файлов из поддиректорий с указанием полного пути | Sat_Kelman | Скриптовые языки администрирования Windows | 4 | 20-03-2020 17:17 | |
CMD/BAT - Переименование файлов. | gen0m.rsw | Скриптовые языки администрирования Windows | 1 | 15-10-2010 19:15 | |
Как сделать наглядный листинг папок и файлов с указанием всех прав доступа | chickaboo | Microsoft Windows NT/2000/2003 | 10 | 15-02-2008 16:54 | |
переименование файлов | mask | Программирование и базы данных | 6 | 20-05-2003 00:53 |
|