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

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

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
cls

Set "Out=Q:\testbat\2"
Set "In=Q:\testbat\1"

Set "Dt=%date:~8,2%%date:~3,2%%date:~0,2%"

SetLocal EnableExtensions EnableDelayedExpansion

Call :Number  "%Out%" "AN03722" "%In%" "0 1 2 6"
Call :Number  "%Out%" "BN03722" "%In%" "3 4 5 7"

GoTo :Eof

:Number
Set "P_N=%~2"
Set "M_N=%~1\%P_N%%Dt%"
Set "Out_N=%P_N%%Dt%0000"

FOR /F "usebackq delims=" %%i IN (`Dir /b /A:-D /O:-N "%M_N%????.*" 2^>Nul`) DO (
	Set "Out_N=%%~ni"
	GoTo :Continue
)
:Continue
Set NN=1%Out_N:~-4%

FOR %%N IN (%~4) DO (
	If Exist "%~3\s*_*_*_%%N*.txt" (
		Set /A NN=!NN!+1
		Echo ARJ32.exe m -e "%M_N%!NN:~-4!" "%~3\s*_*_*_%%N*.txt"
	)
)
Для "боевого" использования уберите Echo перед arj. У меня нет arj, подозреваю, команда m после архивации удаляет файлы. Батник смотрит на номер последнего за день архива и для новых архивов его наращивает

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


Последний раз редактировалось megaloman, 03-07-2014 в 22:37.

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

Отправлено: 12:40, 27-06-2014 | #2