Batch (CMD) Windoes XP "For" mehr als ein Befehl

takidoso

Erfahrenes Mitglied
Hallo und Halli,
irgendwie habe ich bei dem Versuch einer For-Schleife fest gestellt, dass nur das erste comando ausgeführt wird.
hier das beispiel an dem ich bin was prima funktioniert:
Code:
for %%X in (input\*.txt) do (xlsgen.bat %%X output\%%~nX.xls)
hier werden in einem input-verzeichnis alle Dateien mit der Endung txt in eine Exceldatei verwandelt. Dabei wird angenommen, dass es sich im Eingang um csv Dateien handelt.
Nun würde ich soooo gerne die Eingangsdateien in einen Archivordner bewegen, doch der Befehl wird offenbar ignoriert. Entweder liegt das daran, dass die Shell das nachfolgende für weitere Parameter für das vorangegangene commando (übrigens ein VBA-Progrämmchen) hält.
Code:
for %%X in (input\*.txt) do (xlsgen.bat %%X output\%%~nX.xls move %%X archive\%%~nX%%~xX)
Entweder benötigt man hier noch einen Trenner zwischen den beiden Befehlen, wobei ich nicht weiß welches Zeichen das dann wäre und ob For tatsächlich mehr als ein commando in seiner do-Clausel akzeptiert, oder man legt die beiden Befehle in eine eigene Datei die man dann aufruft, was ich allerdings eigetnlich vermeiden wollte.

Frage geht das überhaupt in der Do-Clausel von der For-Schleife mehr als ein Kommando ausführen zu lassen, und wenn ja, dann wie?

mit fragenden Grüßen

Takidoso
 
Wow ... gerade dann, wenn man es richtig macht, funktioniert es auch ;-)

Der Delimeter den man benötigt um mehrere Kommandos in die Do-Clausel zu stellen ist (wer hätte das gedacht) eine neue Zeile :p
Sieht also so aus
Code:
for %%X in (input\*.*) do (
xlsgen.bat %%X output\%%~nX.xls 
move %%X archive\%%~nX%%~xX)

manchmal kommt man tatsächlich mit Ausprobieren und stumpfen raten weiter :)

in diesem Sinne
Takidoso
 

Neue Beiträge

Zurück