dacki1107
Goto Top

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

@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

Content-Key: 353364

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

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

Mitglied: 134464
Solution 134464 Nov 01, 2017 updated at 17:06:33 (UTC)
Goto Top
Beim der ersten Schleife falsch sortiert, und bei der zweiten nur Ordner statt Dateien inkludiert.
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
Member: Dacki1107
Dacki1107 Nov 02, 2017 at 09:26:54 (UTC)
Goto Top
Hallo Specht

Ich danke dir für diese schnelle Lösung. Wenn man es Weiß sieht es gar nicht mehr so schwierig aus.