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-ID: 131384

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

Ausgedruckt am: 22.11.2024 um 14:11 Uhr

bastla
bastla 10.12.2009 um 10:03:58 Uhr
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
Lionheart
Lionheart 10.12.2009 um 10:28:52 Uhr
Goto Top
Vielen Dank - das ist was ich gesucht habe! Wie einfach... face-wink