Batch:Verzeichnisse vergleichen, wenn Ordner nicht existiert -> Ordner erstellen

  • #1
E

EDVler

Bekanntes Mitglied
Themenersteller
Dabei seit
31.08.2004
Beiträge
76
Reaktionspunkte
0
Hi, 8)

Folgendes: Ich möchte eine Batch schreiben, die alle 5 Minuten etwas prüft... :-\

- Es gibt ca. 60 Ordner auf einem Server z.B. im Verzeichnis \\Server\Verzeichnis1\
- Es gibt ein weiteres Verzeicnis auf dem gleichen Server \\Server\Verzeichnis2 welcher die gleichen Ordner enthalten soll wie Verzeichnis1

Verzeichnis1 ist immer aktuell und wird ständig gepflegt. Wie kann ich in einer Batch realisieren, dass der PC prüft, wenn ein Ordner in Verzeichnis1 vorhanden ist aber in Verzeichnis2 nicht, dass er diesen Ordner in Verzeichnis2 kopiert.

Diese Funktion brauche ich, damit beide Verzeichnis stets die gleiche Struktur haben, ich aber nur Verzeichnis1 pflegen muss.

THX
 
  • #2
EDVler schrieb:
Hi, 8)

Folgendes: Ich möchte eine Batch schreiben, die alle 5 Minuten etwas prüft... :-\

- Es gibt ca. 60 Ordner auf einem Server z.B. im Verzeichnis \\Server\Verzeichnis1\
- Es gibt ein weiteres Verzeicnis auf dem gleichen Server \\Server\Verzeichnis2 welcher die gleichen Ordner enthalten soll wie Verzeichnis1

Verzeichnis1 ist immer aktuell und wird ständig gepflegt. Wie kann ich in einer Batch realisieren, dass der PC prüft, wenn ein Ordner in Verzeichnis1 vorhanden ist aber in Verzeichnis2 nicht, dass er diesen Ordner in Verzeichnis2 kopiert.

Diese Funktion brauche ich, damit beide Verzeichnis stets die gleiche Struktur haben, ich aber nur Verzeichnis1 pflegen muss.

THX


Schau Dirmal die Kommandozeilenreferenz von Windows an.

Code:
If - Führt bedingte Verarbeitung in Batchprogrammen aus. 

Syntax
if [not] errorlevel Zahl Befehl [else Ausdruck]

if [not] Zeichenfolge1==Zeichenfolge2 Befehl [else Ausdruck]

if [not] exist Dateiname Befehl [else Ausdruck]

Verwenden Sie folgende Syntax, falls Befehlserweiterungen aktiviert sind:

if [/i] Zeichenfolge1 Vergleichsop Zeichenfolge2 Befehl [else Ausdruck]

if cmdextversion Zahl Befehl [else Ausdruck]

if defined Variable Befehl [else Ausdruck]

Mehr dazu in der Windows Hilfe Suchbegriff if

Gruß
Sven
 
  • #3
Das ist ja nur die halbe Wahrheit... ???

Wie muss ich das jetzt realisieren?
 
  • #4
kleines Beispiel:

Wenn ein Verzeichniss nicht existiert wird es erstellt

if not exist DIR1 md DIR1

Wenn das Verzeichnis bereits existiert, kannst Du ne Kopieraktion starten

if exist DIR1 xcopy /<paramter> irgendwas irgendwohin

Prinzip verstanden ?

Gruß
Sven
 
  • #5
Das Blöde ist aber, dass ich dann jeden einzelnen Ordner in die Batch schreiben müsste, damit sie dann verglichen wird.

-> Aufwand > Ertrag! :-[

Kann ich dem net sagen, dass er sich alle Ordner aus Verzeichnis1 suchen, diese vergleichen und ggf. in Verzeichnis2 kopieren soll?
 
  • #6
Mit Windows Boardmitteln ist mir keine andere Lösung bekannt.
 
  • #7
Schau dir mal die Parameter von xcopy genauer an (/e /s z.B.).

Cheers,
Joshua
 
  • #8
Google mal nach Robocopy . Das Tool ist von Microsoft und dürfte Dein Problem lösen.
 
  • #10
Thema hat sich schon erledigt.

Hab die Syntax raus bekommen und wieder gelöscht ;D

Irgendwie so: xcopy Verzeichnis1 Verzeichnis2 /e

Steckt zu viel aufwand dahinter denn so präsierend ist das Thema nicht - war eher die Neugier in mir...

Trotzdem Thanx
 
Thema:

Batch:Verzeichnisse vergleichen, wenn Ordner nicht existiert -> Ordner erstellen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.965
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben