Batch-Programmierung Ergebnis einer FOR-Schleife übergeben
Batch-Programmierung Ergebnis einer FOR-Schleife übergeben
Hallo Zusammen,
hänge gerade an einem Problem bei welchem ich Hilfe benötige.
Ich möchte ein Batch-Skript bauen, welches mir in allen Verzeichnissen und Unterverzeichnissen nach MP3 Dateien sucht und die Ergebnisse dann weiterverarbeiten. Nun steh ich vor der Herausforderung die For-Schleifen-Ergebnisse auszulesen.
Aktuell habe ich folgenden CODE
Nun bekomme ich jedoch folgende Ausgaben:
Mir ist absolut schleierhaft warum ich immer nur den letzten Wert der For-Schleife in der Variablen habe.
Bin für Ideen und Tipps offen.
Danke
Hallo Zusammen,
hänge gerade an einem Problem bei welchem ich Hilfe benötige.
Ich möchte ein Batch-Skript bauen, welches mir in allen Verzeichnissen und Unterverzeichnissen nach MP3 Dateien sucht und die Ergebnisse dann weiterverarbeiten. Nun steh ich vor der Herausforderung die For-Schleifen-Ergebnisse auszulesen.
Aktuell habe ich folgenden CODE
for /f "delims=" %%i IN ('dir /b /s *.mp3') do (
SET myString="%%i"
echo Ergebnis Forschleife: %%i
echo Ergebnis Variable: %myString%
REM ToDo Splitstring, Move
)
c:\temp>Script.cmd
Ergebnis Forschleife: c:\temp\Ordner 1\Unterordner 1\1.mp3
Ergebnis Variable: "c:\temp\Ordner 1\Unterordner 3\3.mp3"
Ergebnis Forschleife: c:\temp\Ordner 1\Unterordner 2\Unterordner 2.1\2.mp3
Ergebnis Variable: "c:\temp\Ordner 1\Unterordner 3\3.mp3"
Ergebnis Forschleife: c:\temp\Ordner 1\Unterordner 3\3.mp3
Ergebnis Variable: "c:\temp\Ordner 1\Unterordner 3\3.mp3"
Bin für Ideen und Tipps offen.
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 168547
Url: https://administrator.de/forum/batch-programmierung-ergebnis-einer-for-schleife-uebergeben-168547.html
Ausgedruckt am: 30.04.2025 um 04:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo Alex81m und willkommen im Forum!
Abgesehen davon ist es uU gar nicht erforderlich, die gefundenen mp3-Dateipfade in eine Variable zu übernehmen - was hast Du denn konkret damit vor?
Grüße
bastla
Mir ist absolut schleierhaft warum ich immer nur den letzten Wert der For-Schleife in der Variablen habe.
Wird es nicht mehr sein, wenn Du Dich etwas mit "delayedExpansion
" beschäftigst - Du findest einiges zu diesem Stichwort hier im Forum. Schau Dir auch Friemlers Tutorial zur FOR-Schleife an.Abgesehen davon ist es uU gar nicht erforderlich, die gefundenen mp3-Dateipfade in eine Variable zu übernehmen - was hast Du denn konkret damit vor?
Grüße
bastla
Hallo Alex81m!
Wenn es tatsächlich nur darum ginge, "C:" durch "D:" zu ersetzen, sollte ja
genügen ...
Zum Testen wird nur der Kopierbefehl angezeigt - wenn es vernünftig aussieht, kannst Du die Zeile 2 und das REM vor der Zeile 3 entfernen; dann wird zuerst kopiert ("
Grüße
bastla
Wenn es tatsächlich nur darum ginge, "C:" durch "D:" zu ersetzen, sollte ja
for /f "delims=" %%i IN ('dir /b /s C:\temp\*.mp3') do (
echo xcopy /dy "%%i" "D:%%~pnxi*"
REM xcopy /dy "%%i" "D:%%~pnxi*" && del "%%i"
)
Zum Testen wird nur der Kopierbefehl angezeigt - wenn es vernünftig aussieht, kannst Du die Zeile 2 und das REM vor der Zeile 3 entfernen; dann wird zuerst kopiert ("
xcopy
" kann nämlich, anders als "move
", den Zielpfad bei Bedarf erstellen) und, wenn kein Fehler aufgetaucht ist (deshalb die Verknüpfung mit "&&
") danach die Quelldatei gelöscht.Grüße
bastla