Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Пакетное переиминования файлов

Ответить
Настройки темы
CMD/BAT - Пакетное переиминования файлов

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день.Нужна помощь в доработке скрипта. В данной теме полный 0, но нет времени для полно изучения.
Код: Выделить весь код
@for /f "delims=" %%i in ('"dir /a-d/b *.png"') do @set /a n+=1& cmd /v:on /c ren "%%i" !n!.png
Проблема такая https://ibb.co/DfnVkSq При создании нового имени для данных файлов, файлы с наименованием image(10).png, image(11).png нумероваться как первыми ,хотя должны быть последними. Не подскажете как исправить?

Отправлено: 14:52, 12-09-2021

 

Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата megaloman:
по времени »
время может быть и сбито, а нумерация такая как необходимо да на большом количестве фото бывает ой как важна, пересматривай потом этот ворох чтобы уложить и переименовать как надо. А если не важна эта деталь или с датами все в порядке, то да, очень удобно, причем это можно повторять при надобности.

Отправлено: 01:34, 15-09-2021 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


Цитата alpap:
время может быть и сбито, а нумерация такая как необходимо да на большом количестве фото бывает ой как важна, пересматривай потом этот ворох чтобы уложить и переименовать как надо. »
Значит, надо переименованные файлы перемещать в другую папку.
Код: Выделить весь код
@Echo Off
cls
	Set "BoxIn=Z:\Box_In"
	Set "BoxOut=Z:\Box_In\Renum"
	Set "Name=image"
	Set "Ext=png"
	Set /A Len=4
	
	Pushd "%BoxIn%" ||(Echo Folder "%BoxIn%" not found &Pause &Exit /B 1) 
	Call :Add "%BoxOut%\%Name%(*).%Ext%" "Add"

	For /F "usebackq tokens=2 delims=()" %%n In (`2^>nul Dir "%BoxIn%\%Name%(*).%Ext%" /B /A:-D /O:D`) Do (
		Set /a Num=%%n+%Add%
		Call Set "Num=00000000%%Num%%"
		Call >nul Move "%Name%(%%n).%Ext%" "%BoxOut%\%Name%(%%Num:~-%Len%%%).%Ext%"
	)
	Popd
Pause		
Exit /B

:Add
SetLocal
	For /F "usebackq tokens=2 delims=()" %%n In (`2^>nul Dir %1 /B /A:-D /O:-N`) Do Set "NN=%%n" &GoTo :Add1
	2>&1 Md "%~dp1"
	EndLocal &Set /A %~2=0
	Exit /B 0

	:Add1
	If "%NN:~0,1%"=="0" Set "NN=%NN:~1%" &GoTo :Add1
EndLocal &Set /A %~2=%NN%
Exit /B
Цитата Iska:
а что будет, если потом опять создадут image(1).png, image(2).png, …? »
Вновь созданные 1 2 3 ... будут перемещены в ту другую папку с продолжением нумерации к имеющимся там файлам.
Цитата alpap:
мой код для причесывания, соответственно разово, а в дальнейшем надо создавать как положено. »
Сторонний софт не заставите это делать.
Move c изменением имени работает (проверил и в XP)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 15-09-2021 в 10:10.

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:54, 15-09-2021 | #12


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата megaloman:
Сторонний софт не заставите это делать. »
А сторонний ровно один — Проводник .
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:12, 15-09-2021 | #13



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Пакетное переиминования файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Пакетное удаление файлов Latinyanin Хочу все знать 8 17-05-2021 16:16
Любой язык - [решено] Пакетное переименование файлов в случайное имя brosafari Скриптовые языки администрирования Windows 3 17-01-2017 21:29
CMD/BAT - Пакетное переименование файлов по маске Viktor99 Скриптовые языки администрирования Windows 1 15-08-2016 23:25
CMD/BAT - [решено] Пакетное переименование файлов ArsenBespalov Скриптовые языки администрирования Windows 9 11-08-2016 03:56
Пакетное преобразование файлов PCLAlex AutoIt 1 21-06-2011 10:09




 
Переход