rcorten
Goto Top

For Schleife Dateien prüfen

Hallo zusammen,

ich habe folgende Situation.

ich möchte mit folgender Batch Datei überprüfen, ob die Datei: HST.EMP in den Verzeichnissen vorhanden ist. Wenn ja, sollen die HST.EMP Dateien mithilfe von 7zip komprimiert werden.


@echo off

set programpath=C:\Programme\7-Zip
set ordner=C:\send

for /l %%a in (401,1,450) do (
if not exist "%ordner%\%%a\HST.EMP" goto end
if exist "%ordner%\%%a\HST.EMP" goto compress
)

:compress
for /l %%a in (401,1,405) do "%programpath%\7z" a "%ordner%\%%a\HST.7z" "%ordner%\%%a\HST.EMP"

:end
exit


Die HST.EMP Dateien liegen in folgender Struktur:

C:\send\401\HST.EMP
C:\send\402\HST.EMP
C:\send\403\HST.EMP
C:\send\404\HST.EMP
C:\send\405\HST.EMP

usw...


Jetzt funktioniert die if not Exist Abfrage aber nicht. Das heisst, er versucht trotzdem etwas zu komprimiere, obwohl diese Datei nicht in dem Verzeichniss z.B. 402 liegt.

Ich möchte also, dass die Verzeichnisse übersprungen werden, wo keine HST.EMP enthalten ist.

Bin ich auf dem Holzweg oder mache ich einen Dankfehler? face-smile

Über etwas Hilfe würde ich mich freuen.


Nachtrag:

@echo off

set programpath=C:\Programme\7-Zip
set ordner=C:\send

for /l %%a in (401,1,402) do if not exist "%ordner%\%%a\HST.EMP" goto end  

for /l %%a in (401,1,402) do "%programpath%\7z" a "%ordner%\%%a\HST.7z" "%ordner%\%%a\HST.EMP"  

:end
exit

Mit diesem vereinfachten Code habe ich das Problem, dass er die komprimierung nur startet, wenn in beiden Verzeichnissen, also in 401 und 402 die HST.EMP Datei enthalten ist.

Was mache ich falsch?

Content-Key: 127308

Url: https://administrator.de/contentid/127308

Printed on: April 25, 2024 at 20:04 o'clock

Member: bastla
bastla Oct 16, 2009 at 16:39:31 (UTC)
Goto Top
Hallo rcorten und willkommen im Forum!

Eigentlich sollte alles ab Zeile 6 einfach durch
for /l %%a in (401,1,450) do if exist "%ordner%\%%a\HST.EMP" "%programpath%\7z" a "%ordner%\%%a\HST.7z" "%ordner%\%%a\HST.EMP"
zu ersetzen sein ...

Grüße
bastla
Member: rcorten
rcorten Oct 16, 2009 at 16:55:08 (UTC)
Goto Top
Hallo bastla,

vielen vielen Dank, es hat geklappt.

Aber kannst du mir auch erklären, warum meine Abfrage nicht funktioniert?

Ist aber auch egal... face-smile

Jedenfalls, Vielen Dank!
Member: bastla
bastla Oct 16, 2009 at 17:01:04 (UTC)
Goto Top
Hallo rcorten!
Aber kannst du mir auch erklären, warum meine Abfrage nicht funktioniert?
Wenn das erste Mal in einem geprüften Ordner die gesuchte Datei nicht vorhanden ist, wird Dein Batch beendet (und daher kein weiterer Ordner geprüft) ...

Grüße
bastla
Member: Biber
Biber Oct 16, 2009 at 17:06:24 (UTC)
Goto Top
Moin rcorten,

willkommen im Forum
Zitat von @rcorten:
Aber kannst du mir auch erklären, warum meine Abfrage nicht funktioniert?

Ist aber auch egal... face-smile
ja watt nu?

Deine Abfrage funktioniert natürlich as designed, nur hast du etwas anderes gemeint.

Deine Abfrage: Wenn in einem einzigen der abgeklapperten Verzeichnisse die Datei nicht existiert, dann GOTO END.
--> Übersetzt: In ALLEN Verzeichnissen muss diese Datei da sein, sonst passiert gar nix.

Bastlas Abfrage: Hey, in JEDEM Verzeichnis, in dem du watt findest: Zip den Kram.

Ist schon ein gewisser Unterschied.

Ich mein nur, falls es dich doch interessiert...face-wink

Grüße
Biber


[Edit] Moin bastla, sorry, ich hatte wieder nicht in den rechten Aussenspiegel geschaut...
Schönes Wochenende
Biber
[/Edit]
Member: rcorten
rcorten Oct 19, 2009 at 07:35:37 (UTC)
Goto Top
Vielen dank für eure Unterstützung!