Hallo,
als batch-Neuling benötige ich Hilfe bei folgender Aufgabenstellung:
Ich habe einen Basisordner (Basedir), den ich als Parameter an ein Batchfile übergeben möchte. Dieser Ordner und Subordner (mit unbekanntem Namen) können einen Ordner mit einem bestimmten Namen enthalten ("Tomogram"). Ist ein solcher Ordner vorhanden, möchte ich den Inhalt dieses Ordners mit 7zip packen.
Ich versuche das hier deutlich darzustellen:
Basedir
|_
| Tomogram <- Inhalt packen
|_
| Sub1
| |_
| |_ Tomogram <- Inhalt packen
| | Sub11
| |_
|_ Tomogram <- Inhalt packen
| Sub2
|_
| Sub3
|_
Tomogram <- Inhalt packen
Mein Code (mit Hilfe von diesem Forenthread):
Ich scheitere daran, dass er alle Ordner packt. Wenn ich alle 7z.exe-Zeilen auskommentiere listet er mir mit "echo aktueller Ordner: !folder!" alle "Tomogram"-Ordner auf. Aktiviere ich aber das packen, macht er beim Testlauf mit 2 Unterordnern "Tomogram" nur einen der beiden Pack- und Test-Jobs wie gewünscht und verlässt die Schleife.
Bitte unterstützt mich bei diesem Problem, wenn noch Informationen fehlen, reiche ich diese gerne nach.
Gruß
Niicoo
als batch-Neuling benötige ich Hilfe bei folgender Aufgabenstellung:
Ich habe einen Basisordner (Basedir), den ich als Parameter an ein Batchfile übergeben möchte. Dieser Ordner und Subordner (mit unbekanntem Namen) können einen Ordner mit einem bestimmten Namen enthalten ("Tomogram"). Ist ein solcher Ordner vorhanden, möchte ich den Inhalt dieses Ordners mit 7zip packen.
Ich versuche das hier deutlich darzustellen:
Basedir
|_
| Tomogram <- Inhalt packen
|_
| Sub1
| |_
| |_ Tomogram <- Inhalt packen
| | Sub11
| |_
|_ Tomogram <- Inhalt packen
| Sub2
|_
| Sub3
|_
Tomogram <- Inhalt packen
Mein Code (mit Hilfe von diesem Forenthread):
Code:
@set path="C:\Program Files\7-Zip\";%path%
Setlocal EnableDelayedExpansion
color 0F
set basedir=%1
cls
for /R "%basedir%" /D %%a in (*Tomogram) do (
echo %%a
set folder=%%a
echo aktueller Ordner: !folder!
pause
7z.exe a !folder!\Tomogram.zip !folder!\*.tif
IF "%errorlevel%"=="0" (goto testzip) ELSE (goto zipfail)
:testzip
7z.exe t !folder!\Tomogram.zip
IF "%errorlevel%"=="0" (goto delfiles) ELSE (goto testzipfail)
:delfiles
rem del %%a\*.tif
rem IF "%errorlevel%"=="1" (goto delfail)
)
goto Success
Ich scheitere daran, dass er alle Ordner packt. Wenn ich alle 7z.exe-Zeilen auskommentiere listet er mir mit "echo aktueller Ordner: !folder!" alle "Tomogram"-Ordner auf. Aktiviere ich aber das packen, macht er beim Testlauf mit 2 Unterordnern "Tomogram" nur einen der beiden Pack- und Test-Jobs wie gewünscht und verlässt die Schleife.
Bitte unterstützt mich bei diesem Problem, wenn noch Informationen fehlen, reiche ich diese gerne nach.
Gruß
Niicoo