Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch für Kopieren bzw. Ersetzten, wenn...

Frage Microsoft Windows Tools

Mitglied: LoveBoat

LoveBoat (Level 1) - Jetzt verbinden

05.03.2009, aktualisiert 14:12 Uhr, 4436 Aufrufe, 9 Kommentare

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
Mitglied: bastla
05.03.2009 um 14:33 Uhr
Hallo LoveBoat!

Schematisch etwa so:
01.
for %i in ("D:\Quellordner\*.typ") do for %a in ("X:\Zielordner\%~nxi") do if %~zi==%~za copy "%i" %a
Als Batch natürlich jedes "%"-Zeichen verdoppeln.

Grüße
bastla
Bitte warten ..
Mitglied: LoveBoat
05.03.2009 um 15:22 Uhr
Yes, klappt! ...........................wunderbar!
Bitte warten ..
Mitglied: LoveBoat
11.03.2009 um 13:21 Uhr
So, jetzt doch noch zwei Sachen aufgefallen:

1. Ein Bericht wäre gut, dh. eine txt-file die mir sagt welche Dateien und welche nicht kopiert wurden.

2. Ich habe einen Denkfehler begangen; es sollen natürlich zunächst einmal ALLE, dh. auch diejenigen Dateien, die nicht im Zielordner aber in Ursprungsordner drinne sind verschoben / kopiert werden. Wenn dann welche sowohl in Ursprungs- als auch Zielordner vorliegen, dann soll diese Regelung greifen die nur die gleichgroßen kopiert. Was dann übrigbleibt hat zwar den selben Dateinamen, aber eine andere Größe. (Das würde dann auch einen Bericht überflüssig machen).
Bitte warten ..
Mitglied: bastla
11.03.2009 um 16:45 Uhr
Hallo LoveBoat!

Dann etwa so:
01.
@echo off & setlocal 
02.
set "Quelle=D:\Quellordner\*.typ" 
03.
set "Ziel=X:\Zielordner" 
04.
set "LogK=X:\Kopiert.txt" 
05.
set "LogNK=X:\NichtKopiert.txt" 
06.
 
07.
if exist "%LogK%" del "%LogK%" 
08.
if exist "%LogNK%" del "%LogNK%" 
09.
 
10.
for %%i in ("%Quelle%") do ( 
11.
    if not exist "%Ziel%\%%~nxi" ( 
12.
        copy "%%i" "%Ziel%" 
13.
        >>"%LogK%" echo %%i 
14.
    ) else ( 
15.
        for %%a in ("%Ziel%\%%~nxi") do if %%~zi==%%~za ( 
16.
            copy "%%i" "%Ziel%" 
17.
            >>"%LogK%" echo %%i 
18.
        ) else ( 
19.
            >>"%LogNK%" echo %%i 
20.
21.
22.
)
Grüße
bastla
Bitte warten ..
Mitglied: LoveBoat
12.03.2009 um 10:44 Uhr
OK Ich versuchs so. Als Batch müssen die "%" verdoppelt werden, so wars doch`?#

Bzw: An welcher Stelle muss ich was einfügen, verwirrend finde ich ("%Quelle%") und "%Ziel%\%%~nxi", welche Zeichen sollen stehen bleiben und welche muss ich rauslöschen wenn ich Quell- bzw Zielpfad einsetze?
Bitte warten ..
Mitglied: bastla
12.03.2009 um 10:56 Uhr
Hallo LoveBoat!

Ist bereits ein Batch (das Verdoppeln von "%" gilt vor allem für Laufvariable einer "for"-Schleife, aber nicht für jegliche "%").

An welcher Stelle muss ich was einfügen
Anzupassen wären eigentlich nur noch die Pfade in den Zeilen 2 bis 4 [Edit] auch Zeile 5 [/Edit].

Grüße
bastla
Bitte warten ..
Mitglied: LoveBoat
12.03.2009 um 11:48 Uhr
Hallo Bastla,

ja habs gemerkt. Allerdings gibt mir dieser Batch nur die kopierten Dateien als txt aus. Mich würde aber vielmehr interessieren welche nicht kopiert wurden. Am besten wäre, wie gesagt, er würde die Dateien nicht kopieren sondern verschieben, so dass im Quellordner nur Dateien mit selbem Namen aber verschiedener Größe übrigbleiben.
Bitte warten ..
Mitglied: bastla
12.03.2009 um 12:30 Uhr
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
Bitte warten ..
Mitglied: LoveBoat
12.03.2009 um 13:06 Uhr
Ja, die Datei "NichtKopiert.txt" taucht leider nicht auf. Aber mit der "Move"-Variante dürfte das auch eigentlich nicht weiter tragisch sein.

Viele Dank!

Grüße.
LoveBoat
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...