Ordner vergleichen und kopieren

fakerr

Cadet 1st Year
Registriert
Nov. 2011
Beiträge
13
Hallo Freunde,

ich habe keine Regeln gefunden wie und ob ich hier rein schreiben soll. Deswegen hoffe ich dass ich keinen Groll auf mich ziehe.

Ich habe garkeine Ahnung von Programmierung, stehe aber vor einer Aufgabe die ich nicht zu lösen weiß.

Wir haben Pfad A mit dieser Ordner-Struktur:

Wohnort Musterstraße 3 AZ-
Wohnort An der Musterstraße 15 AZ-

u.s.w. hoffe die Struktur ist klar geworden.

Wir haben Pfad B mit dieser Ordnerstruktur:

Musterstraße 1
-> Unterordner namens Conject
Musterstraße 3
-> Unterordner namens Conject
An der Musterstraße 7
-> Unterordner namens Conject
An der Musterstraße 15
-> Unterordner namens Conject

So. Ich möchte jetzt realisiert haben, dass die Musterstraßen aus Pfad A in die Unterordner "Conject" der jeweiligen Musterstraße mit der richtigen Hausnummer kopiert werden.

Am besten wäre sogar eine Synchronisierung per Mausklick, wo nur die geänderten oder neuen Dateien Synchronisiert werden.

Ich weiß nicht wie aufwendig sowas ist (bzw. ob es überhaupt geht). Theoretisch könnte man auch über einen Auftrag zur Programmierung sprechen..
 
Zuletzt bearbeitet:
Probiere es mal mit Robocopy bzw. rbcSync 2013.
Es gibt auch viele andere freie Sync Tools (FreeFileSync) ..oder Beyond Compare.

Möglich wäre auch Powershell - relativ einfaches Script.
 
Das Problem ist ich kenne mich da überhaupt nicht aus und will da auch keine Zeit investieren. Deswegen würde ich, falls es zu schwer ist, sogar Geld dafür bezahlen. Wäre immer noch günstiger als wenn ich mich da einfuchsen müsste :lol:

Hier wäre es ja mit Wenn/Dann schleifen oder so. Soweit weiß ich noch aus der Lehrzeit. Da hört es auch schon auf. :D

EDIT: Achja bevor ich es vergesse. Es sind über 1000 Ordner. Bei 15 Ordnern hätte ich es noch händisch mit von TK-Shockwave genannten Tools gemacht.
 
Zuletzt bearbeitet:
Es ist net schwer. Ne Sache von max. 30-60min so komplex ist dein vorhaben nun auch nicht.
Ein wenig selbst Hirnschmalz reinstecken kann nicht schaden^^

Pff 1000 was kostet die Welt? :-) Nen Script, ein Match-Pattern überlegen und zusammen scripten. Fertig.
 
Zuletzt bearbeitet:
TK-Shockwave schrieb:
Nen Script, ein Match-Pattern überlegen und zusammen scripten. Fertig.

Oh, klingt einfach - hätte ich nicht gedacht. Ich kann es leider trotzdem nicht.
 
Naja, überleg dir einfach mal Schritt für Schritt, was du machen willst, du hast das ja schon ganz gut beschrieben.

Ich hab das mal für dich in pseudo-code formuliert:
Code:
Für jeden Ordner B in "Pfad B" mache folgendes:
	Für jeden Ordner A in "Pfad A" mache folgendes:
		Wenn der Name von B im Namen von A enthalten ist:
			Kopiere A nach B\Conject
Jetzt suchst du dir eine Scriptsprache deiner Wahl und setzt den Pseudocode in echten Code um.
 
Code:
@echo off
for /f "delims=" %%i IN ('dir "pfad A\" /b /aD') DO (call :work "%%i")

:work
set ptmp=%~1
set ptmp=%ptmp:Wohnort =%
set p=%ptmp: AZ-=%

robocopy "Pfad A\%~1" "Pfad B\%p%\Conject" /mir

Das Batchscript macht genau das was du willst. Aber halt nur in dem engen Rahmen den du in deinem Beispiel definiert hast.
Robocopy ist (seit Vista) Teil von Windows. Solltes es dir fehlen, kannst du es dir bei MS runterladen.
 
Hey bauers,

vielen Dank schonmal für deine Antwort! Das passt aber noch nicht ganz.
Zur Zeit kopiert er die vorhandenen Ordner aus Pfad B nach Pfad A. Dort erstellt er einen neuen Ordner mit dem selben Namen wie in Pfad B außer dem "Az-".
Nochmal erklärt wie ich es brauche:

Zu kopieren ist der Ordner aus Pfad A mit diesem Namen (alle sind nach diesem Schema aufgebaut): Musterstadt Alte Mühle 3 Az- 36064-35-RA-173-14-0 Max Muster 2401755555

In Pfad B befinden sich Ordner die nach diesem Schema aufgebaut sind: "Alte Mühle 2 BA" dort ist ein Unterordner namens Conject wo der Inhalt aus Pfad A rein kopiert werden soll.

Das Script sollte halt gucken: Pfad A ist ein Ordner der heißt: Musterstadt Alte Mühle 3 Az- 36064-35-RA-173-14-0 Max Muster 2401755555 und erkennen dass es sich um die "Alte Mühle 3" handelt -> nächster Schritt: Wenn in Pfad B ein Ordner namens "Alte Mühle 3 BA" vorhanden ist dann kopier ihn in Pfad B\Alte Mühle 3 BA\Conject.

Puh schwer zu erklären ... Hoffe du kannst mir nochmal helfen?
 
Na dann setzt dich ran und lern ein wenig scripten.
Wir haben dir hier nun viele Hinweise gegeben und mit ein bissel nachdenken, kannst du es auch meistern.
 
Ja, gleich nachdem ich einen Motor auseinander und wieder zusammen gebaut habe und ein Flugzeug geflogen bin. Tut mir leid Shockwave, ich bin nicht hier um etwas zu lernen. Ich frage ob mir jemand dieses Script erstellen kann. Wenn ich hier falsch bin dann tut es mir leid... und der Thread kann geschlossen werden. Falls jemand helfen kann, umso besser. *Thumbs up*
 
Zuletzt bearbeitet:
Ich hatte dir eine PN geschrieben..solltest du evtl. mal lesen :-D
 
Leider fürchte ich, das ich dir da nicht weiterhelfen kann. Das Problem ist das zwischen Musterstadt und der Strasse kein eindeutiges Trennzeichen ist.
 
Kann man nicht "Musterstadt " als Trennzeichen nehmen? Weil die ja immer gleich ist.
 
Heist das wirklich Musterstadt und nicht München, Berlin, Frankfurt am Main, ... ?
 
Zuletzt bearbeitet:
Richtig, eine Stadt aus einem Wort :-) will sie hier jetzt nicht nennen. Außer es muss sein?
 
Code:
@echo off
for /f "delims=-; tokens=1,*" %%i IN ('dir "Pfad A\" /b /aD') DO (call :work "%%i" "%%j")

:work

set qp=%~1-%~2
if "%qp%"=="-" goto ende:

set zptmp=%~1
set zptmp=%zptmp:Musterstadt =%
set zp=%zptmp: AZ=%
echo %p%

robocopy "Pfad A\%qp%" "Pfad B\%zp% BA\Conject" /mir

:ende

Die Pfade sind relativ, sprich du musst Pfad A und B auf deine Gegebenheiten anpassen.
Musterstadt muss auch geändert werden, ist aber glaube ich klar :)
ggf. musst / kannst du robocopy noch anpassen. Mach momentan einfach einen Sync Pfad A -> Pfad B.
 
Bauers ein dickes dankeschön! Es klappt genau so wie ich es haben möchte! Fettes Lob!
 
Zurück
Oben