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

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

Ветеран


Contributor


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

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


Цитата sancher:
в одной папке в отдельные архивы с именем файла »
Код: Выделить весь код
@Echo Off
	Set "BoxIn=Z:\Box_Arc"
	Set "Mask1=*.log"
	Set "Mask2=log*.txt"

	Set "BoxOut=Z:\Box_Out"

	Set ARC="C:\Program Files\7-Zip\7z.exe" a -mx1 -sdel

	Call :MyArc "%BoxIn%"

	FOR /F "usebackq delims=" %%d In (`2^>nul Dir /B /A:D /S "%BoxIn%\"`) DO (
		Call :MyArc "%%d"
	)
Exit /B

:MyArc
	FOR /F "usebackq delims=" %%f In (`2^>nul Dir "%~1\%Mask1%" "%~1\%Mask2%" /B /A:-D`) DO (
		%ARC% "%BoxOut%\%%f.zip" "%~1\%%f"
	)
Exit /B
То же, но короче
Код: Выделить весь код
@Echo Off
	Set "BoxIn=Z:\Box_Arc"
	Set "Mask1=*.log"
	Set "Mask2=log*.txt"

	Set "BoxOut=Z:\Box_Out"

	Set ARC="C:\Program Files\7-Zip\7z.exe" a -mx1 -sdel

	FOR /F "usebackq delims=" %%f In (`2^>nul Dir /B /A:-D /S "%BoxIn%\%Mask1%" "%BoxIn%\%Mask2%"`) DO (
		>nul %ARC% "%BoxOut%\%%~nxf.zip" "%%f"
	)
Exit /B

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


Последний раз редактировалось megaloman, 22-01-2022 в 21:44.

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

Отправлено: 18:54, 22-01-2022 | #11