|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Переименование и копирование файлов |
|
CMD/BAT - [решено] Переименование и копирование файлов
|
Пользователь Сообщения: 60 |
Профиль | Отправить PM | Цитировать Добрый день! Хочу создать батник, который бы переименовывал файлы в папке и копировал их в итоговую "Total"
Есть две папки, "1" и "2" и в обеих лежат файлы c именами: check1,check2,check3.... и т.д Нужно чтобы нумерация начиналась с 001 и к имени добавлялся номер папки. например check001_1, check002_1, check003_1 - это для папки "1" и например check001_2, check002_2, check003_2 - для папки "2" файлов может быть более тысячи Для меня это нереально( Пробовал только переименовывать вот таким кодом for /f "tokens=*" %%a in ('dir /b C:\Onkassa\Rename\1\*.*') do ren C:\Onkassa\Rename\1\%%a 001_1%%a в итоге переименован только первый файл 001_1check |
|
Отправлено: 11:24, 17-08-2018 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата jordan_74:
Цитата jordan_74:
Цитата jordan_74:
|
|||
Отправлено: 12:10, 17-08-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
Цитата Iska:
|
|||
Отправлено: 12:45, 17-08-2018 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 13:43, 17-08-2018 | #4 |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать Тем не менее благодарю за попытку!!
|
|
Отправлено: 13:56, 17-08-2018 | #5 |
Ветеран Сообщения: 2710
|
Профиль | Отправить PM | Цитировать Iska, Кто хочет сделать - ищет способ, кто не хочет - причину.
Вот вариант (скрипт 1)
@Echo Off
cls
Set "BoxIn=Z:\Box_In"
Set "Folds="1111" "2222""
Set "Pref=check"
Set "Mask=%Pref%*.*"
Set /A Max=1000
Set "BoxOut=Z:\Box_In\Total"
If Not Exist "%BoxOut%" Md "%BoxOut%"
Pushd "%BoxIn%" &&(
FOR %%d IN (%Folds%) DO (
FOR %%f IN ("%%~dpnxd\%Mask%") DO (
Call :RenCopy "_%%~d" "%%f" "%%~nf" "%%~xf" "%BoxOut%"
)
)
Popd
)
Pause
GoTo :Eof
:RenCopy
Set "NewName=%~3"
Call Set "NewName=%%NewName:%Pref%=%%"
2>nul Set /A NewName=%NewName%+%Max% ||GoTo :Eof
Set "NewName=%Pref%%NewName:~1%%~1%~4"
>nul Copy %2 "%~5\%NewName%"
>nul Ren %2 "%NewName%"
GoTo :Eof
Главное, чтобы выдерживалось правило образования имени : ПрефиксНомерРасширение. Расширение может и отсутствовать, тогда: Set "Mask=%Pref%*." Предполагаю, что обе подпапки находятся в общей папке. Имена корневой папки, подпапок, выходной папки укажите сами. Кстати, число подпапок в моём решении произвольно, извольте их перечислить. Укажите префикс в именах файлов, в Вашем вопросе он check Можно задать формат номера в новом имени. Для Max=1000 номер будет трёхзначным, например, 001 Для Max=10000 номер будет четырёхзначным, например, 0002 В выходную папку копируются файлы с новым именем. В исходной папке файлы переименовываются. Если не надо, чтобы переименовывались файлы в исходной папке, уберите строку с ren |
------- Последний раз редактировалось megaloman, 18-08-2018 в 18:54. Отправлено: 14:19, 17-08-2018 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 14:24, 17-08-2018 | #7 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
кто хочет передвигаться быстро, садится на транспорт и едет, а кому надо просто добраться и у него времени "вагон", тот может и пешком ходить... |
|
------- Отправлено: 14:40, 17-08-2018 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
Неточная цитата
Цитата:
|
||
Отправлено: 14:45, 17-08-2018 | #9 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
------- Отправлено: 15:20, 17-08-2018 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Переименование папки и копирование новой из сети. | Lorttt | Скриптовые языки администрирования Windows | 19 | 19-06-2017 18:56 | |
CMD/BAT - Копирование файла и переименование согласно списка из exel | TPOJIb_55 | Скриптовые языки администрирования Windows | 4 | 01-06-2016 09:28 | |
CMD/BAT - Копирование файлов из подкаталогов и их переименование в название папки | lexxxyatina | Скриптовые языки администрирования Windows | 7 | 13-11-2014 09:44 | |
CMD/BAT - [решено] Копирование и переименование файла по особой маске | DARK-Silver666 | Скриптовые языки администрирования Windows | 5 | 20-12-2012 21:22 | |
VBS/WSH/JS - [решено] переименование и копирование папки | Anufriev | Скриптовые языки администрирования Windows | 6 | 22-05-2012 08:11 |
|