Datei nur kopieren wenn sie nicht in einer Liste steht, sonst kopieren und der Liste hinzufügen
Servus zusammen,
ich habe ein Problem bei der Batch-Programmierung:
Es sollen .tif-Dateien aus einem Quellordner (A:\) in einen Zielordner (B:\) kopiert werden, allerdings nur, wenn sich diese Dateien noch nicht in einer Liste (A:\Liste.txt) befinden.
Nachdem diese Dateien kopiert wurden, soll die entsprechende Datei der o.g. Liste hinzugefügt werden.
Falls die Datei bereits in der Liste steht, soll nichts unternommen werden.
Hier mein Versuch:
@echo OFF
set "sourceRoot=A:"
set "sourceList=A:\Liste.txt"
set "destFolder=B:"
for /f %%i in ('dir /b "%sourceRoot%\*.tif"') do (
for /f %%j in (%sourceList%) do (
if not equ "%%i" "%%j" (
copy %%i "%destFolder%\"
dir "%%i" /b >%sourceList%
) else (
goto: EOF
)
)
)
Ich versuche es da schon länger, allerdings funktioniert es bisher nicht.
Kann mir da einer weiterhelfen?
Gruß
ich habe ein Problem bei der Batch-Programmierung:
Es sollen .tif-Dateien aus einem Quellordner (A:\) in einen Zielordner (B:\) kopiert werden, allerdings nur, wenn sich diese Dateien noch nicht in einer Liste (A:\Liste.txt) befinden.
Nachdem diese Dateien kopiert wurden, soll die entsprechende Datei der o.g. Liste hinzugefügt werden.
Falls die Datei bereits in der Liste steht, soll nichts unternommen werden.
Hier mein Versuch:
@echo OFF
set "sourceRoot=A:"
set "sourceList=A:\Liste.txt"
set "destFolder=B:"
for /f %%i in ('dir /b "%sourceRoot%\*.tif"') do (
for /f %%j in (%sourceList%) do (
if not equ "%%i" "%%j" (
copy %%i "%destFolder%\"
dir "%%i" /b >%sourceList%
) else (
goto: EOF
)
)
)
Ich versuche es da schon länger, allerdings funktioniert es bisher nicht.
Kann mir da einer weiterhelfen?
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 419303
Url: https://administrator.de/forum/datei-nur-kopieren-wenn-sie-nicht-in-einer-liste-steht-sonst-kopieren-und-der-liste-hinzufuegen-419303.html
Ausgedruckt am: 19.04.2025 um 04:04 Uhr
7 Kommentare
Neuester Kommentar
Hallo,
als erstes: Nutze für Code auch Codetags. Du findest das Symbol links neben dem Editorfenster. Es ist das vorletzte Symbol von unten.
Zweitens: Ist das richtig, dass die Daten vom Diskettenlaufwerk kommen?
Drittens: ist das richtig, dass die Daten auf das zweite Diskettenlaufwerk sollen?
Erkläre bitte was die Laufwerke A: und B: sind.
Gruss Penny
als erstes: Nutze für Code auch Codetags. Du findest das Symbol links neben dem Editorfenster. Es ist das vorletzte Symbol von unten.
Zweitens: Ist das richtig, dass die Daten vom Diskettenlaufwerk kommen?
Drittens: ist das richtig, dass die Daten auf das zweite Diskettenlaufwerk sollen?
Erkläre bitte was die Laufwerke A: und B: sind.
Gruss Penny
Zitat von @Penny.Cilin:
Hallo,
als erstes: Nutze für Code auch Codetags. Du findest das Symbol links neben dem Editorfenster. Es ist das vorletzte Symbol von unten.
Zweitens: Ist das richtig, dass die Daten vom Diskettenlaufwerk kommen?
Drittens: ist das richtig, dass die Daten auf das zweite Diskettenlaufwerk sollen?
Erkläre bitte was die Laufwerke A: und B: sind.
Gruss Penny
Hallo,
als erstes: Nutze für Code auch Codetags. Du findest das Symbol links neben dem Editorfenster. Es ist das vorletzte Symbol von unten.
Zweitens: Ist das richtig, dass die Daten vom Diskettenlaufwerk kommen?
Drittens: ist das richtig, dass die Daten auf das zweite Diskettenlaufwerk sollen?
Erkläre bitte was die Laufwerke A: und B: sind.
Gruss Penny
Flopyy Sync?

Wieder einer der noch mit Batch rumwurstelt ...
Tante Edith: Tippfehler bereinigt
@echo off
set "sourceRoot=A:"
set "sourceList=A:\Liste.txt"
set "destFolder=B:"
for /f "delims=" %%a in ('dir /b "%sourceRoot%\*.tif" ^| findstr /ilxvg:"%sourceList%"') DO (copy "%sourceRoot%\%%a" "%destFolder%\" & echo.%%a>>"%sourceList%")
Tante Edith: Tippfehler bereinigt

War ein Tippfehler ist oben schon korrigiert...