Dartrolton |
20-03-2016 14:20 2617972 |
Нужен скрипт для запаковки 7zip
Нужно запаковать через 7zip все файлы в каждом подкаталоге одного каталога по именам
к примеру
Цитата:
katalog\
podkatalog1\
file1.png
file2.png
podkatalog2\
file3.txt
podkatalog3\
file4.tga
|
должно вывести такой же каталог, только каждый из этих файлов по папкам должен быть запакован с таким же именем и расширением через 7зип
Цитата:
katalog\
podkatalog1\
file1.png
file2.png
podkatalog2\
file3.txt
podkatalog3\
file4.tga
|
Только все файлы должны быть запакованы(но не папки)
|
Есть такое, делал для себя, только для rar. Можно переделать, впиши команды из 7z и все:
Код:
rem Батник принимает в параметре путь к папке. Будут запакованы все файлы во всех нижестоящих папках по нужному расширению.
rem Запрашивает расширение файлов для упаковки. Вводим расширение без точки
rem например: doc
rem или: fb2
rem и т.д.
rem --------------------------------------------------------------
rem Если не указан путь к папке то ошибка и выход.
@echo off
@chcp 1251
@rem recursive Packing (move) files to archive in subfolders -
@rem filename == archivename
@rem check parameters
@if "%~1"=="" goto :NoParam
@chdir /d %1
@if %errorlevel% neq 0 goto :NoParam
@if exist packErr.log del packErr.log
echo ^---------------------------------------------------
echo.
set /p ext=[ Enter file Extensions for Packing ] :
rem main loop
rem тут прописать путь до архиватора, там где после ) do ("путь_до_архиватора" <параметры> "%%~dpni".rar "%%i")
for /f "delims=%%" %%i in ('dir /s /b *.%ext%') do ("%~dp0..\Plugins\arc\rar.exe" m -m5 -ep -ri3 "%%~dpni".rar "%%i") 2>packErr.log
if exist packErr.log start "%SYSTEMROOT%\notepad.exe" packErr.log
exit
exit
:NoParam
echo.
ECHO ================= %~n0. Command line error: "%*"
pause
EXIT /B 1
и для распаковки в сквозную всех рахивов rar из теущей папки в вниз:
Код:
@echo off
chcp 1251
rem recursive UNpack archives in folder and then delete archives
rem check parameters
if "%~1"=="" goto :noparam
chdir /d "%~1"
if %errorlevel% neq 0 goto :noparam
if exist unperror.log del unperror.log
rem main loop
echo ======= Работаю ...
@for /f "delims=%%" %%i in ('dir /S /b *.rar') do (
%~dp0..\Plugins\arc\rar.exe e -u "%%~fi" "%%~dpi" && del "%%~fi"
) 2>>unperror.log
echo ^=============================================================
if exist unperror.log start "" notepad.exe unperror.log
echo ^=============================================================
pause
exit
exit
:noparam
echo.
echo =============== %~n0. Command line error: "%*"
echo.
pause
exit /B 1
У меня эти скрипты в ТоталКоммандер повешены на две кнопки обе с параметром "%P" . Полезно для книг распаковки\запаковки и др. всего.
|
Время: 18:47.
© OSzone.net 2001-