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

Показать сообщение отдельно

Ветеран


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