Suche Programm: Datei Updater/Ersetzer

AtroCty

Cadet 3rd Year
Registriert
Mai 2009
Beiträge
54
Hey Leute,

ich habe ein relativ einfaches problem:

Ich habe ein Archiv von etwa 10.000 Dateien. Diese sind in viele Unterordner verschichtet und sortiert.
Ein großer Teil dieser Dateien sollen ein Update erhalten. Dazu würde ich gerne ein Programm haben, welche ausschließlich die vorhandenen Dateien ersetzt.

Beispiel:

Neuer Ordner:
Datei1.txt -->
Datei2.txt -->
Datei3.txt
//Unterordner 1
//Bild1.png -->
//Bild2.png
///Unterordner 2

Alter Ordner:
Datei1.txt !!
Datei2.txt !!
//Unterordner 1
//Bild1.png !!
//Bild3.png
///Unterordner 2
///Bild2.png

Er soll also keine Dateien verschieben, die nicht bereits im Ordner vorhanden sind.
Aktuell habe ich es von Hand gemacht, jedoch sitze ich... nun... schon ca. 10 Stunden dran, und bin gerade mal von A bis P gekommen. Da in der Zukunft noch mehr dieser Arbeiten anstehen würde ich gerne ein Progrmam mit Oberfläche dafür verwenden.
Theoretisch könnte ich mir eine Batch-Datei dafür schreiben, jedoch wäre es für das Aufgabenfeld zu komplex. Kennt jemand etwas, was meinen Anforderungen entspricht?

Noch einen guten Rutsch ins neue Jahr!

AtroCty
 
Schau Dir mal freefilesync an. Das kann eine ganze Menge. ich weiß aber nicht, ob es auch deine Anforderungen komplett erfüllt. So stark habe ich mich mit dem Programm noch nicht auseinander gesetzt.
 
Nicht direkt was du willst, aber robocopy kann z.B. nur Dateien kopieren, bei denen das Archivattribut gesetzt ist. Wenn du im Quellordner also bei all denen Dateien das Attribut setzt, werden auch nur diese kopiert. Oder basiert diese Auswahl ausschließlich auf dem Zielordner?
 
Die Auswahls cheint nur auf dem Zielordner zu beruhen, wenn ich das richtig lese.
 
Hi

Ich hatte grad noch so ein ähnliches Script rumliegen und habs kurz auf deine Bedürfnisse angepasst: (ist ein VBScript, Windows-Dateiendung *.vbs)
Code:
'Pfade
source = "F:\Scripts"
destination = "F:\Scripts_new"

'Konstanten
Set fso = CreateObject("Scripting.FileSystemObject")

sub UpdateFolder(path) 'Ruft für jede Datei allen Unterordnern dieses Pfads die Funktion "UpdateFile" auf
	Set folder = fso.GetFolder(path)
	For Each SubFolder in Folder.SubFolders
		UpdateFolder(path & "\" & SubFolder.Name)
	Next
	For Each File in Folder.Files
		UpdateFile(path & "\" & File.Name)
	Next
End sub

sub UpdateFile(path) 'Aktualisiert die Datei, falls sie bereits existiert
	shortpath = right(path, len(path)-len(source))
	If (fso.fileExists(destination & shortpath)) Then
		fso.copyfile source & shortpath, destination & shortpath
	End if
End sub
UpdateFolder(source)

msgbox "Update Fertig"

Was tut das Programm:
Es durchläuft jede Datei im Ordner und allen Unterordnern "source". Für jede Datei prüft es, ob die Datei im Ordner "destination" bereits existiert. Falls ja, wird die Datei aus dem Ordner "source" in den Ordner "destination" kopiert.
Wenn das Script durchgelaufen ist, kommt eine Meldung "Update Fertig".

Gruss - jumpin
 
Zuletzt bearbeitet:
Zurück
Oben