lionheart
Goto Top

Befehlsausgabe weiterverarbeiten

Guten Morgen Leute,

wie kann man elegant die Ausgabe eines Befehls z.B. DIR in einem Batchskript weiterverarbeiten?

Möchte ich z.B. alle Dateien aus einem Verzeichnisbaum in einen einzelnen Ordner verschieben, würde ich wie folgt vorgehen:

Verzeichnisbaum:
c:\Ordner01\
c:\Ordner01\Ordner02\test1.txt
c:\Ordner01\Ordner02\test2.txt
c:\Ordner01\Ordner02\test3.txt
c:\Ordner01\test4.txt
c:\Ordner01\Ordner03\test5.txt

Ziel:
c:\Dateien

Akuell würde ich wie folgt vorgehen:

@echo off
set ziel=c:\dateien
dir /s /b c:\ordner01 >> dateien.log
for /f "delims=" %%a in (dateien.log) do move %%a %ziel%
del /s /q dateien.log

Gibt es eine Möglichkeit die Ausgabe des Befehls DIR ohne den Umweg über eine externe Datei zu bearbeiten?

Content-Key: 131384

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

Printed on: April 16, 2024 at 13:04 o'clock

Member: bastla
bastla Dec 10, 2009 at 09:03:58 (UTC)
Goto Top
Hallo Lionheart!

Du kannst den Befehl unmittelbar in die "for"-Schleife aufnehmen:
for /f "delims=" %%a in ('dir /s /b c:\ordner01') do move "%%a" "%ziel%"
Grüße
bastla
Member: Lionheart
Lionheart Dec 10, 2009 at 09:28:52 (UTC)
Goto Top
Vielen Dank - das ist was ich gesucht habe! Wie einfach... face-wink