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

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

Аватара для gora

Ушёл из жизни


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

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


Код: Выделить весь код
@Echo Off
ChCp 1251>Nul
SetLocal EnableDelayedExpansion
Set src=c:\Temp\src
Set arch=c:\Temp\arch
Set ar7z=c:\Program Files\7-Zip\7z.exe
:: Типы архивов, которые могут быть в исходной папке
Set ext=7z zip rar

(For /R "%src%" %%a In (*.*) Do (
	Set flg=
	For %%i In (%ext%) Do If /I .%%i==%%~xa Set flg=1& Echo !Date! !Time! Архив %%a пропущен
	If Not Defined flg (
		"%ar7z%" a "%arch%\%%~na.7z" "%%a">Nul
		Echo !Date! !Time! Файл %%a заархивирован в %arch%\%%~na.7z
		Del /F/Q "%%a">Nul
		Echo !Date! !Time! Исходный файл %%a удален
	)
)
)>>log.txt
Архиватор можно заменить на автономный 7zr.exe или 7za.exe, положив его в любое место и прописав к нему путь.
Лог будет дописываться при каждом запуске.
Если в исходной папке будут несколько файлов с одинаковым именем, но разным расширением, то они будут упакованы в один архив. Этого можно избежать, если присваивать имя архиву равное имени и расширению исходного файла. В постановке задачи это не оговорено.
Архив можно создавать не 7z, а zip, для этого нужно просто заменить в скрипте расширение.
Запускать скрипт через планировщик.
Исходная папка и папка назначения могут быть и одной папкой

Последний раз редактировалось gora, 09-09-2010 в 13:55.

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

Отправлено: 12:52, 09-09-2010 | #2