Имя пользователя:
Пароль:
 

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

Старожил


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

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


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

Set ArchPath=C:\Program Files\7-Zip
Set WorkDir=D:\Temp\test
Set TargetDir=D:\Temp\arch
Set tm=%time::=-%  
Set tm=%date:~6,4%-%date:~3,2%-%date:~0,2%_%tm:~0,-3%

Call :CheckDir %WorkDir%
If %ErrorLevel%==1 Echo Нечего архивировать & Ping -n 5 127.0.0.1>nul & Exit
"%ArchPath%\7z.exe" a "%TargetDir%\tm_%tm%.zip" "%WorkDir%\*"
Pause
Exit

:CheckDir
SetLocal EnableExtensions EnableDelayedExpansion
Set Destination=%1
Set NotEmpty=n
For /F %%a In ('Dir /B /S %Destination%\*.*') Do (
    If ["%%~za"] GTR ["0"] (
    set NotEmpty=y
    goto :StopScan
))
:StopScan
If %NotEmpty%==n (Exit /B 1) Else (Exit /B 0)
ArchPath соответственно - путь к архиватору (без имени исполняемого файла), WorkDir - директория с содержимым которой будет работать архиватор, TargetDir - директория в которой будут сложены архивы. Если в %WorkDir% пусто - будет выведено соответствующее сообщение и скрипт завершит свою работу. Под "пусто" подразумевается то, что в этой директории и её поддиректориях не будет ни одного файла размером больше 0 байт.
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:08, 07-10-2010 | #2