Batch für Kopieren bzw. Ersetzten, wenn...
Kopieren großer Datenmengen mit teilweise gleichen Dateinamen
Hallo,
Ich muss im Rahmen einer Datensicherung von verschiedenen Partitionen große Datenmengen zusammentragen und auf einen Sicherungsserver speichern. Dabei stoße ich immer wieder auf das Problem dass Dateien zwar gleich heißen, aber nicht die gleichen sind, da unterschiedlich groß.
Gibt es ein Batch oder einen cmd-Zeilen Code, der es mir ermöglicht gleichgroße Dateien zu ersetzen, ungleichgroße Dateien allerdings nicht zu ersetzen?
Wäre für Hilfe dankbar!
Gruß,
LB
Ich muss im Rahmen einer Datensicherung von verschiedenen Partitionen große Datenmengen zusammentragen und auf einen Sicherungsserver speichern. Dabei stoße ich immer wieder auf das Problem dass Dateien zwar gleich heißen, aber nicht die gleichen sind, da unterschiedlich groß.
Gibt es ein Batch oder einen cmd-Zeilen Code, der es mir ermöglicht gleichgroße Dateien zu ersetzen, ungleichgroße Dateien allerdings nicht zu ersetzen?
Wäre für Hilfe dankbar!
Gruß,
LB
Please also mark the comments that contributed to the solution of the article
Content-Key: 110631
Url: https://administrator.de/contentid/110631
Printed on: April 26, 2024 at 11:04 o'clock
9 Comments
Latest comment
Hallo LoveBoat!
Dann etwa so:
Grüße
bastla
Dann etwa so:
@echo off & setlocal
set "Quelle=D:\Quellordner\*.typ"
set "Ziel=X:\Zielordner"
set "LogK=X:\Kopiert.txt"
set "LogNK=X:\NichtKopiert.txt"
if exist "%LogK%" del "%LogK%"
if exist "%LogNK%" del "%LogNK%"
for %%i in ("%Quelle%") do (
if not exist "%Ziel%\%%~nxi" (
copy "%%i" "%Ziel%"
>>"%LogK%" echo %%i
) else (
for %%a in ("%Ziel%\%%~nxi") do if %%~zi==%%~za (
copy "%%i" "%Ziel%"
>>"%LogK%" echo %%i
) else (
>>"%LogNK%" echo %%i
)
)
)
bastla
Hallo LoveBoat!
Eigentlich solltest Du auch eine Datei "NichtKopiert.txt" (wie in Zeile 5 festgelegt - daher bitte auch diesen Pfad anpassen) erhalten - ansonsten "copy" durch "move" ersetzen.
Nur zur Sicherheit noch der Hinweis, dass "move" (wie auch "copy") gleichnamige Dateien im Zielordner ohne Rückfrage überschreibt.
Grüße
bastla
Eigentlich solltest Du auch eine Datei "NichtKopiert.txt" (wie in Zeile 5 festgelegt - daher bitte auch diesen Pfad anpassen) erhalten - ansonsten "copy" durch "move" ersetzen.
Nur zur Sicherheit noch der Hinweis, dass "move" (wie auch "copy") gleichnamige Dateien im Zielordner ohne Rückfrage überschreibt.
Grüße
bastla