Dobrý den,
je nějaký způsob jak provést hromadnou extrakci souborů v celé adresářové struktuře?
Mám velkou spoustu složek (stovky) a v každé několik archivů. Potřeboval bych rozbalit všechny archivy najednou tak, aby rozbalené soubory zůstaly v adresářové struktuře tam, kde byly původní archivy a navíc se vždy rozbalily do podsložky s názvem archivu.
Ve složce Data mám např složky pojmenované Fotky01 až Fotky99. V každé z těchto složek mám několik archivů pojmenovaných vždy pokus01 až pokus10. Jak zajistím, abych celé rozbalení mohl provést najednou a tak, aby se všechny soubory rozbalily do přislušných složek Data/Fotkyxx/pokusxx?
Děkuji za odpověď
Jiří Šála
Dobrý den,
mohla by Vám pomoci dávková úloha podobná té, kterou používám pro zálohování.
Přikládám z ní fragment pro inspiraci.
Pozornost věnujte zejména vnořeným cyklům for /D, které by měly pomoci Váš problém vyřešit.
:full
rem *** plná záloha jen v pátek (1.-4. v měsíci) ******************* start
FOR /F %%w IN ('%runfold%\OUTTIME.exe Ww') DO SET Den17=%%w
rem *** den v tydnu definujeme zde ***
if "%Den17%" NEQ "Sa" goto diff
FOR /F %%w IN ('%runfold%\outtime.exe MM') DO SET MES=%%w_full-Fr-%week%_%from0%_%ver%
rd /S /Q %MES%
md %MES%
del %MES%\*.rar /S /Q
echo. >> %prot%
%runfold%\outtime.exe >> %prot%
echo Záloha disku %from% FULL BACKUP --------------------------------- >> %prot%
net use %from% /delete >> %prot%
net use %from% %sserver%\%sfolder% /YES >> %prot%
net use >> %prot%
rem md %MES%\%sfolder%
%from%
cd \
echo nekomprimují se přípony %nocompress% >> %prot%
for /D %%j in (*) do (set adr=%%j
md %mech%\%fold%\%mes%\%%j
%runfold%\outtime.exe >> %prot%
echo %runfold%\rar%ver% a -ac -ep2 -r- -rr -se -o+ -m5 -ma5 -qo+ -idcdp %nocompress% -ilog%prot% %mech%\%fold%\%MES%\%%j\_%%j.rar %from%\%%j\ >> %prot%
%runfold%\rar%ver% a -ac -ep2 -r- -rr -se -o+ -m5 -ma5 -qo+ -idcdp %nocompress% -ilog%prot% "%mech%\%fold%\%MES%\%%j\_%%j.rar" "%from%\%%j\"
if %errorlevel% neq 0 echo ***** errorlevel ukoncení byla chyba %errorlevel% *****
cd %%j
for /D %%i in (*) do (set adr=%%i
%runfold%\outtime.exe >> %prot%
echo %runfold%\rar%ver% a -ac -ep2 -r -rr -se -o+ -m5 -ma5 -qo+ -idcdp %nocompress% -ilog%prot% %mech%\%fold%\%MES%\%%j\%%i.rar %from%\%%j\%%i\ >> %prot%
%runfold%\rar%ver% a -ac -ep2 -r -rr -se -o+ -m5 -ma5 -qo+ -idcdp %nocompress% -ilog%prot% "%mech%\%fold%\%MES%\%%j\%%i.rar" "%from%\%%j\%%i\"
if %errorlevel% neq 0 echo ***** errorlevel ukoncení byla chyba %errorlevel% *****
)
cd ..
)
%runfold%\outtime.exe >> %prot%
echo Síťové složky (%from%) uloženy >> %prot%
rem vrátím se do cílové složky
%mech%
cd \%fold%
%runfold%\outtime.exe >> %prot%
net use %from% /delete >> %prot%
rem *** plná záloha jen v pátek (1.-4. v měsíci) ******************* konec
goto diff