batch script zwei befehle aus einer for schleife?
Hallo zusammen,
vermutlich eine ganz einfache Frage auf die ich aber noch keine Antwort gefunden habe:
Ich möchte mit einem Phtoshop droplet Bilder konvertieren. Ich rufe das Droplet mit einer for schleife auf:
FOR %%a IN (c:\test\*.psd) DO 8bit.exe %%a
das funktioniert sehr gut, das Droplet konvertiert die Bilder und speichert Sie als jpeg in einem anderen Verzeichnis. Anschleißend werden die Ausgangsdateien nicht mehr benötigt und sollen gelöscht werden. wenn ich das mit einer neuen for schleife machen würde befürchte ich aber das in der Zwischenzeit dazugekommen Dateien die noch nicht konvertiert wurden mit gelöscht werden, wie kann ich also dafür sorgen, das nur die Dateien die die erste Schleife durchlaufen haben gelöscht werden?
Vielen Dank
Arnold
und bitte nicht schimpfen wenn ich den Wald vor lauter Bäumen nicht gesehen habe
vermutlich eine ganz einfache Frage auf die ich aber noch keine Antwort gefunden habe:
Ich möchte mit einem Phtoshop droplet Bilder konvertieren. Ich rufe das Droplet mit einer for schleife auf:
FOR %%a IN (c:\test\*.psd) DO 8bit.exe %%a
das funktioniert sehr gut, das Droplet konvertiert die Bilder und speichert Sie als jpeg in einem anderen Verzeichnis. Anschleißend werden die Ausgangsdateien nicht mehr benötigt und sollen gelöscht werden. wenn ich das mit einer neuen for schleife machen würde befürchte ich aber das in der Zwischenzeit dazugekommen Dateien die noch nicht konvertiert wurden mit gelöscht werden, wie kann ich also dafür sorgen, das nur die Dateien die die erste Schleife durchlaufen haben gelöscht werden?
Vielen Dank
Arnold
und bitte nicht schimpfen wenn ich den Wald vor lauter Bäumen nicht gesehen habe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 47432
Url: https://administrator.de/contentid/47432
Ausgedruckt am: 14.11.2024 um 13:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo arnito!
Falls die 8bit.exe einen sauberen "Errorlevel" zurückliefert (also 0 für "ohne Fehler beendet" bzw > 0 für "Fehler aufgetreten"), solltest Du für die Verknüpfung des "del"-Befehles && verwenden - dadurch wird dieser nur ausgeführt, wenn die 8bit.exe keinen Fehler gemeldet hat (Errorlevel = 0).
Grüße
bastla
Falls die 8bit.exe einen sauberen "Errorlevel" zurückliefert (also 0 für "ohne Fehler beendet" bzw > 0 für "Fehler aufgetreten"), solltest Du für die Verknüpfung des "del"-Befehles && verwenden - dadurch wird dieser nur ausgeführt, wenn die 8bit.exe keinen Fehler gemeldet hat (Errorlevel = 0).
Grüße
bastla
Moin arnito,
nur zur Ergänzung von miniversums Lösung:
Du kannst die Befehle "8bit psd-Datei" und "lösche psd-Datei" auch mit zwei Ampersands statt einem verketten ( && statt &).
Dann wird das Löschen der jeweiligen Datei nur durchgeführt, wenn der Befehl vorher, also das Konvertieren, keinen Fehler ergibt.
-ist gleich bedeutend mit-
Gruß
Biber
[Edit]
Moin, bastla, alter Linksüberholer...
Frohe Weihnachten auch Dir!
[/Edit]
nur zur Ergänzung von miniversums Lösung:
Du kannst die Befehle "8bit psd-Datei" und "lösche psd-Datei" auch mit zwei Ampersands statt einem verketten ( && statt &).
Dann wird das Löschen der jeweiligen Datei nur durchgeführt, wenn der Befehl vorher, also das Konvertieren, keinen Fehler ergibt.
FOR %%a IN (c:\test\*.psd) DO 8bit.exe "%%a" && del "%%a"
-ist gleich bedeutend mit-
FOR %%a IN (c:\test\*.psd) DO call machWasMitPsd "%%i"
goto :eof
:machWasMitPsd Parameter %1 ist der vollständige Name der *.psd-Datei in Hochkommata
8bit.exe "%~1"
IF NOT Errorlevel 1 del "%~1"
Gruß
Biber
[Edit]
Moin, bastla, alter Linksüberholer...
Frohe Weihnachten auch Dir!
[/Edit]
@Biber
Wünsche schöne Weihnachten gehabt zu haben.
... und entschuldige bitte das Vordrängeln - hatte gar nicht bemerkt, dass Du wieder in der Gegend bist.
Grüße
bastla
Wünsche schöne Weihnachten gehabt zu haben.
... und entschuldige bitte das Vordrängeln - hatte gar nicht bemerkt, dass Du wieder in der Gegend bist.
Grüße
bastla