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

Dateien verschieben bzw. moven nach Kriterium Dateigröße

Frage Entwicklung Batch & Shell

Mitglied: africar

africar (Level 1) - Jetzt verbinden

10.01.2008, aktualisiert 11.01.2008, 5019 Aufrufe, 4 Kommentare

Synchronisierung von zwei Windows-Verzeichnissen nach Kriterium Dateigröße.
Nur die größere Datei bleibt erhalten.

Hallo,
auch nach längerer Suche ist es mir nicht gelungen, eine Batch zu finden, welche
Dateien zwischen Verzeichnissen verschiebt
und dabei die kleinere der Dateien überschreibt. Auch Tools wie robocopy geben das nach meiner
Recherche nicht her.
Man kann das Problem wohl auch als Syncronisierung nach maximalem Volumen umschreiben.
Ich wäre dankbar, wenn mir jemand eine Batch oder auch cygwin-Lösung (lauffähig unter WinXP) bereitstellen kann.

Hinzu kommt das Problem langer Dateinamen und Sonderzeichen, welches wohl auch eine Rolle spielen könnte.
Danke
Gruß
Hermann
Mitglied: Biber
10.01.2008 um 09:49 Uhr
Moin africar,

willkommen im Forum.

Diese Anforderung sollte mit einer Zeile vom CMD-Prompt zu lösen sein.
Im Prinzip brauchst Du nur zwei FOR-Anweisungen nacheinander laufen lassen - eine über die Dateien des Quellverzeichnisses und eine über die des Ziels.

Demo am CMD-Prompt:
01.
>for %i in (d:\temp\mod*.*) do @for %j in ("d:\temp\eins\%~nxi?") do @echo [%~ni][%~zi][%~zj] 
02.
[modules][4560][4560] 
03.
[Modules_1][116][116] 
04.
[Modules_2][116][116] 
05.
[Modules_3][116][116]
Dieses Beispiel würde über Dateien "mod*.*" der Quelle "d:\temp\" laufen und die gefundenen Dateien mit gleichnamigen im Ziel "d:\temp\eins\" vergleichen.
Angezeigt werden dann Dateiname, Größe in Quelle, Größe der Datei im Zielverzeichnis.

Wenn Du die Zeile 2x gelesen und 1x verstanden hast, dann wäre eine allgemeinere Fassung in einem Batch in etwa:
01.
::------ snipp CopyIfGTR.cmd 
02.
@echo off & setlocal 
03.
Set "Q=D:\temp" 
04.
Set "Z=D:\temp\eins" 
05.
FOR %%i in ("%q%\*.*") do for %%j in ("%Z%\%%~nxi?") do ( 
06.
     IF %%~zi GTR %%~zj Copy /y "%%i" "%%j" 
07.
)
P.S. Wo hast Du denn gesucht...... wer außer unserem Forum sollte denn Antworten haben? *gg

Grüße
Biber
Bitte warten ..
Mitglied: africar
10.01.2008 um 12:46 Uhr
Hallo Biber,
vielen dank, das ging ja schnell.
Ich denke ich hab's verstanden, hatte (auch hier im Forum) bei der Suche wohl
zu sehr auf move und verschieben fokussiert.
Gruß
Africar
Bitte warten ..
Mitglied: Biber
10.01.2008 um 18:06 Uhr
Moin Africar,

okay, das Detail mit dem "Verschieben" wiederum habe ich überlesen... sorry.

In diesem Fall die Zeile...
IF %%~zi GTR %%~zj Copy /y "%%i" "%%j"
...ersetzen durch...
IF %%~zi GTR %%~zj Move "%%i" "%%j"

Aber da bist Du bestimmt schon selbst darauf gekommen...
Wenn Du noch einen "Erledigt"-Haken setzt, schließe den Beitrag dann gelegentlich.

Grüße
Biber
Bitte warten ..
Mitglied: africar
11.01.2008 um 06:19 Uhr
Moin Biber,
nochmals Thanks for caretaking.
Gruß
Africar
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst ZIP-Archive nach Dateien durchsuchen und Pfade ausgeben (33)

Frage von evinben zum Thema Batch & Shell ...

Router & Routing
Routingproblem in Homerouter-Kaskade mit Raspi (20)

Frage von Oldschool zum Thema Router & Routing ...

Server
Freenas schlechte Schreib Performance bei NFS (16)

Frage von janosch12 zum Thema Server ...

C und C++
Methode multiple return values (8)

Frage von mayho33 zum Thema C und C ...