Batch Variablen in for-Schleife
Hallo Liebe Administratoren
Ich kämpfe mit einem kleinen Problemchen und hoffe das Ihr mir helfen könnt.
Ich versuche eine Batch aufzubauen die mir: Aus einem Ordner, der jedes Quartal neu erstellt wird in einem bestimmten Pfad, eine in einem unter Ordner davon befindliche Datei zu kopieren. Diese soll dann auf ein externes Medium X: oder etwas ähnliches kopiert werden.
Das Problem ist das nicht der neuste Ordner genommen wird sondern ein älterer Ordner.
Ich habe in dem Ordner D:\test zwei unter Ordner drin die an unterschiedlichen Tagen erstellt wurden. Ordner 1 am 19.10.2017 und Ordner 2 am 24.10.2017.
Ein echo %neuerOrdner% gibt mir immer Ordner 1 aus
Ich habe bereits das Forum durchsucht und gelesen wie verrückt nur finde ich den Fehler nicht. Ich danke euch für eure Hilfe.
MFG
Dacki
Ich kämpfe mit einem kleinen Problemchen und hoffe das Ihr mir helfen könnt.
Ich versuche eine Batch aufzubauen die mir: Aus einem Ordner, der jedes Quartal neu erstellt wird in einem bestimmten Pfad, eine in einem unter Ordner davon befindliche Datei zu kopieren. Diese soll dann auf ein externes Medium X: oder etwas ähnliches kopiert werden.
Das Problem ist das nicht der neuste Ordner genommen wird sondern ein älterer Ordner.
Ich habe in dem Ordner D:\test zwei unter Ordner drin die an unterschiedlichen Tagen erstellt wurden. Ordner 1 am 19.10.2017 und Ordner 2 am 24.10.2017.
Ein echo %neuerOrdner% gibt mir immer Ordner 1 aus
@echo off
setlocal ENABLEDELAYEDEXPANSION
set "Quelle=D:\test\"
set "Ziel=x:\20174"
for /f "tokens=* delims=" %%g IN ('dir /B /AD /TC /O-D "%Quelle%\20*"')DO set "neuerOrdner=%%g"
echo %neuerOrdner%
pause
for /f "delims=" %%a in ('dir /ad /b /o-d "D:\test\%neuerOrdner%\test_unterordner\*.txt"') DO set "neueDatei=%%a"
echo %neueDatei%
pause
echo Kopiere "%neueDatei%" nach "%Ziel%" ...
pause
xcopy /E /Y "!Quelle!\!neueDatei!" "!Ziel!\neueDatei"
goto end
echo
pause
:end
)
Ich habe bereits das Forum durchsucht und gelesen wie verrückt nur finde ich den Fehler nicht. Ich danke euch für eure Hilfe.
MFG
Dacki
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 353364
Url: https://administrator.de/forum/batch-variablen-in-for-schleife-353364.html
Ausgedruckt am: 04.05.2025 um 09:05 Uhr
2 Kommentare
Neuester Kommentar

Beim der ersten Schleife falsch sortiert, und bei der zweiten nur Ordner statt Dateien inkludiert.
Drittens delayed expansion ist hier nicht nötig.
Drittens delayed expansion ist hier nicht nötig.
@echo off
set "Quelle=D:\test\"
set "Ziel=x:\20174"
for /f "tokens=* delims=" %%g IN ('dir /B /AD /TC /OD "%Quelle%\20*"') DO set "neuerOrdner=%%g"
echo %neuerOrdner%
pause
for /f "delims=" %%a in ('dir /a-d /b /od "D:\test\%neuerOrdner%\test_unterordner\*.txt"') DO set "neueDatei=%%a"
echo %neueDatei%
pause