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

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

Ветеран


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

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


m3nthal, теоретически можно использовать команду «d» для удаления файлов из архива — пустой архив удаляется. Но это не лучший способ. Проще получать код возврата и принимать решение об удалении архива на его основании.

Это:
Код: Выделить весь код
1>nul chcp 1251
лишнее. Просто сохраняйте пакетный файл в кодировке OEM/866.

«rar.exe» не работает (в отличие от «winrar.exe») с архивами любого формата, отличного от «*.rar».

Примерно так:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFolder=E:\Песочница\0133\Source
set sDestFolder=E:\Песочница\0133\Destination

if exist "%sSourceFolder%\." (
	if exist "%sDestFolder%\." (
		for %%i in ("%sSourceFolder%\*.rar" "%sSourceFolder%\*.zip") do (
			<nul set /p sValue=%%i 
			"C:\Program Files\WinRAR\WinRAR.exe" x -y "%%i" "%sDestFolder%\" && (
				<nul set /p sValue=Ok
				del /f /q "%%i" && echo  Deleted|| echo.
			) || echo Error
		)
	) else (
		echo Destination folder [%sDestFolder%] not found
	)
) else (
	echo Source folder [%sSourceFolder%] not found
)

endlocal
exit /b 0


Результат может выглядеть наподобие:
читать дальше »
Код: Выделить весь код
E:\Песочница\0133\Source\0001.rar Ok Deleted
E:\Песочница\0133\Source\0002.rar Ok Deleted
E:\Песочница\0133\Source\0003.rar Error
E:\Песочница\0133\Source\0004.zip Ok Deleted


NB!: одноимённые файлы в каталоге назначения переписываются «поверх» без запросов (параметр «-y» при «WinRar.exe»).
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:23, 02-04-2012 | #2