Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/104: Рейтинг темы: голосов - 104, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 21
1

Bat для переименования части имени файлов

02.08.2019, 09:27. Показов 20867. Ответов 6

Author24 — интернет-сервис помощи студентам
Добрый день!
Очень нужна помощь, сам написать не смог.
Нужен батник, который переименует n-ое количество файлов в папке. Файлы имеют имена типа:
"132_АБВ_9-id_пакета"
"14_АБВ_9-id_пакета"
"763_АБВ_9-id_пакета"
и так далее ...
Нужно:
"1500_АБВ_9-id_пакета"
"1501_АБВ_9-id_пакета"
"1502_АБВ_9-id_пакета"
и так далее ...
То есть надо забить на старую нумерацию и переименовать все файлы, присвоив им новую нумерацию, сохранив при этом часть имени "***_АБВ_9-id_пакета".
Буду благодарен любой помощи!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.08.2019, 09:27
Ответы с готовыми решениями:

BAT для переименования файлов с конкретным именем
Приветствую. Нужен BAT для переименования файлов с конкретным именем (несколько типов имен не...

Цикл переименования файлов - CMD/BAT
Помите пожалуйста, есть 66 файлов, как пронумировать "по 11"? Т.е. Есть:...

Нужен bat для изменения имени файлов
Всем привет! Есть текстовый файл, внутри которого более 4000 строк примерно следующего...

BAT для переименования с определенным параметром
Доброго времени года. Помогите, пожалуйста, с батником. Есть множество папок и файлов в своё...

6
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 21
02.08.2019, 16:32  [ТС] 2
Что уже написал:

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
@echo on
setlocal
 
for %%i in (*.pdf) do call:rename "%%i"
goto:eof
 
:rename
set "old=%~n1"
set /a cnt+=1
set "pref=147%cnt%"
ren %1 "%pref%%old:~+3%.pdf"
проблема в том, что такая реализация всегда отрезает именно 3 символа (можно задать другое кол-во) от начала имени файла, а если символ 1 или 4, то отрезает больше или наоборот меньше.
Хочется указать в виде разделителя первое вхождение символа "_", но сделать самостоятельно пока не получается.
Резать с конца тоже такая себе затея, так как там тоже весьма большая вариация кол-ва символов.
0
4335 / 2125 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
02.08.2019, 17:34 3
Лучший ответ Сообщение было отмечено baulala как решение

Решение

Windows Batch file
1
2
3
4
5
6
7
@echo off
set "d1=Papka"
set "mask=*_АБВ_9-id_пакета.txt"
set n=1500
 
for /f "tokens=1* delims=_" %%a in ('dir /a-d/b "%d1%\%mask%"') do set /a n+=1& call echo "%%n%%_%%b"
pause& exit
Добавлено через 1 минуту
для переименования
Windows Batch file
1
... call ren "%d1%\%%a_%%b" "%%n%%_%%b"
2
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 21
02.08.2019, 18:44  [ТС] 4
id пакета всегда разный. А вам не сложно будет целиком код расписать, не разделяя его?
0
4335 / 2125 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
03.08.2019, 23:15 5
Цитата Сообщение от baulala Посмотреть сообщение
id пакета всегда разный
тогда:
Windows Batch file
1
set "mask=*_АБВ_9-*.pdf"
или свою (*.pdf), как в вашем коде, поставьте.
Цитата Сообщение от baulala Посмотреть сообщение
А вам не сложно будет ...
мне-то нет, а вам, не сложно будет хоть каплю разобраться в том что вам бескорыстно предлагают и неужели отдельное окончание единственной строки кода сложно заменить на представленное.
0
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 21
03.08.2019, 23:45  [ТС] 6
Да, все уже сделал, но запустить пока не было возможности.
По результатам, отдельно отпишусь, большое Вам спасибо!
0
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 21
05.08.2019, 09:31  [ТС] 7
Большое спасибо, все отлично работает!
0
05.08.2019, 09:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.08.2019, 09:31
Помогаю со студенческими работами здесь

Bat`ник для переименования файла
Не могу ни как решить проблему с выводом сообщения. Кто может помогите! Вот текст батника: Echo...

Скрипт для переименования файлов
Друзья, добрый день! Подскажите пожалуйста скрипт для переименования файла вида...

Копирование файлов по части имени
Всем привет! В папке лежат файлы с названиями: ...

Сортировка файлов по части имени
День добрый! Список файлов в папке: 5555-001-123.txt 5555-005-121.txt 5555-007-153.txt...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru