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ß
Please also mark the comments that contributed to the solution of the article
Content-Key: 419303
Url: https://administrator.de/contentid/419303
Printed on: May 8, 2024 at 04:05 o'clock
7 Comments
Latest comment
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...