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

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

Ветеран


Contributor


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

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


Поиск в rar
С именами серверов
Код: Выделить весь код
@Echo Off
cls
	Call :Together "2020-10-31.gw.uniroll.log"
	Call :Together "2020-10-13.gw.uniroll.log"
pause
Exit /B

:Together
	Set "AllComp=127.0.0.1 LocalHost 192.168.100.23 Max-ПК"
	Set "LogFolder=C$\Program Files (x86)\Test\Log"

	Set "Backup=\\BackupServer\Test2"
	Set "Mask=log from ??20??.rar"

	Set "BoxOut=Z:\Box_Out"

	Set "Arc=C:\Program Files\WinRAR\Rar.exe" 

	If Not Exist "%BoxOut%\%~n1" (
		Md "%BoxOut%\%~n1" ||(Echo Folder "%BoxOut%\%~n1" not created &Pause &Exit /B 1)
	)
	
	For %%c In (%AllComp%) Do (
		>nul 2>&1 Copy "\\%%c\%LogFolder%\%~1" "%BoxOut%\%~n1\%~n1_%%c%~x1"||(
			Call :FromRar %1 "%Backup%\%%c" "%BoxOut%\%~n1\%~n1_%%c%~x1"
		)
	)
	"%Arc%" a -ep1 -hpPassword "%BoxOut%\%~nx1.rar" "%BoxOut%\%~n1\*.*"
Exit /B

:FromRar
	FOR /F "usebackq delims=" %%a IN (`2^>nul Dir "%~2\%Mask%" /B /A:-D /O:-D /T:W`) DO (
		FOR /F "delims=" %%f IN ('""%Arc%" lb "%~2\%%a"|Find /I %1"') DO (
			Pushd "%~dp3"
				>nul 2>&1 "%Arc%" e "%~2\%%a" "%%f"
				>nul Move /Y "%%~nxf" "%~nx3" 
			Popd
			Exit /B
		)
	)
Exit /B 1
С нумерацией
Код: Выделить весь код
@Echo Off
cls
	Call :Together "2020-10-30.gw.uniroll.log"
	Call :Together "2020-03-13.gw.uniroll.log"
pause
Exit /B

:Together
	Set "AllComp=127.0.0.1 LocalHost 192.168.100.23 Max-ПК"
	Set "LogFolder=C$\Program Files (x86)\Test\Log"

	Set "Backup=\\BackupServer\Test2"
	Set "Mask=log from ??20??.rar"

	Set "BoxOut=Z:\Box_Out"

	Set "Arc=C:\Program Files\WinRAR\Rar.exe" 

	If Not Exist "%BoxOut%\%~n1" (
		Md "%BoxOut%\%~n1" ||(Echo Folder "%BoxOut%\%~n1" not created &Pause &Exit /B 1)
	)
	
	Set /A N=1000
	For %%c In (%AllComp%) Do (
		Set /A N+=1
		>nul 2>&1 Call Copy "\\%%c\%LogFolder%\%~1" "%BoxOut%\%~n1\%~n1_%%N:~1%%%~x1"||(
			Call :FromRar %1 "%Backup%\%%c" "%BoxOut%\%~n1\%~n1_%%N:~1%%%~x1"
		)
	)
	"%Arc%" a -ep1 -hpPassword "%BoxOut%\%~nx1.rar" "%BoxOut%\%~n1\*.*"
Exit /B

:FromRar
	FOR /F "usebackq delims=" %%a IN (`2^>nul Dir "%~2\%Mask%" /B /A:-D /O:-D /T:W`) DO (
		FOR /F "delims=" %%f IN ('""%Arc%" lb "%~2\%%a"|Find /I %1"') DO (
			Pushd "%~dp3"
				>nul 2>&1 "%Arc%" e "%~2\%%a" "%%f"
				>nul Move /Y "%%~nxf" "%~nx3" 
			Popd
			Exit /B
		)
	)
Exit /B 1
С нумерацией и именами
Код: Выделить весь код
@Echo Off
cls
	Call :Together "2020-10-29.gw.uniroll.log"
	Call :Together "2020-03-19.gw.uniroll.log"
pause
Exit /B

:Together
	Set "AllComp=127.0.0.1 LocalHost 192.168.100.23 Max-ПК"
	Set "LogFolder=C$\Program Files (x86)\Test\Log"

	Set "Backup=\\BackupServer\Test2"
	Set "Mask=log from ??20??.rar"

	Set "BoxOut=Z:\Box_Out"

	Set "Arc=C:\Program Files\WinRAR\Rar.exe" 

	If Not Exist "%BoxOut%\%~n1" (
		Md "%BoxOut%\%~n1" ||(Echo Folder "%BoxOut%\%~n1" not created &Pause &Exit /B 1)
	)
	
	Set /A N=1000
	For %%c In (%AllComp%) Do (
		Set /A N+=1
		>nul 2>&1 Call Copy "\\%%c\%LogFolder%\%~1" "%BoxOut%\%~n1\%~n1_%%N:~1%%_%%c%~x1"||(
			Call :FromRar %1 "%Backup%\%%c" "%BoxOut%\%~n1\%~n1_%%N:~1%%_%%c%~x1"
		)
	)
	"%Arc%" a -ep1 -hpPassword "%BoxOut%\%~nx1.rar" "%BoxOut%\%~n1\*.*"
Exit /B

:FromRar
	FOR /F "usebackq delims=" %%a IN (`2^>nul Dir "%~2\%Mask%" /B /A:-D /O:-D /T:W`) DO (
		FOR /F "delims=" %%f IN ('""%Arc%" lb "%~2\%%a"|Find /I %1"') DO (
			Pushd "%~dp3"
				>nul 2>&1 "%Arc%" e "%~2\%%a" "%%f"
				>nul Move /Y "%%~nxf" "%~nx3" 
			Popd
			Exit /B
		)
	)
Exit /B 1

	Set /A N=1000
	>nul 2>&1 (For %%c In (%AllComp%) Do (
		Set /A N+=1
		Call Copy "\\%%c\%LogFolder%\%~1" "%BoxOut%\%~n1\%~n1_%%N:~1%%%~x1" ||(
		Call Copy "%Backup%\%%c\%~1" "%BoxOut%\%~n1\%~n1_%%N:~1%%%~x1")
	))

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


Последний раз редактировалось megaloman, 01-11-2020 в 18:47.

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

Отправлено: 19:48, 31-10-2020 | #21