Ordnerstrucktur kopieren

16/11/2007 - 11:14 von Marko Lemmel | Report spam
Hallo,
weiß nicht ob ich meine Frage richtig aufstelle kann.

Ich möchte den Ordner von einem Netzlaufwerk auf einen Laptop kopieren mit
der abfrage ob die Datei oder der Ordner schon vorhanden ist.
Wenn nicht vorhanden oder die Datei auf dem Server neuer ist dann koiperen
aufs Laptop.
Leider bricht das Script ab mit Zugriff verweigert sobald er einen Ordner
neukopieren soll auf c:\programm\daten.
Die Dateien und Ordner vergleicht er immer.Nur neu anlegen bzw dann rüber
kopieren ergibt ein fehler.

Hier habe ich das Script mal auf geschrieben wie er es machen soll..
Beid er Zeile: objdatei.Attributes = objdatei.Attributes And Not 32
Bricht er immer ab...mit den oben genanten Fehler.
Was ist den daran Falsch?

Sub BackupFiles(ByVal objOrdner)
On Error Goto 0
strZielOrdner = strPathKopie & Mid(objOrdner.Path, Len(strPathOriginal) + 1)
If Not objfs.FolderExists(strZielOrdner) Then
objfs.CreateFolder strZielOrdner
End If
For Each objdatei In objOrdner.files
strZiel = objfs.Buildpath(strZielOrdner, objdatei.name)
docopy = False
If ((objdatei.Attributes And 32) = 32) Then
docopy = True
ElseIf Not objfs.FileExists(strZiel) Then
docopy = True
End If
If docopy Then
objdatei.copy strZiel
objdatei.Attributes = objdatei.Attributes And Not 32
intKopiert = intKopiert +1
Else
intAktell = intAktuell + 1
End If
Next
For Each objUnterordner In objOrdner.SubFolders
BackupFiles objUnterordner
Next

Grübel
Marko
 

Lesen sie die antworten

#1 Pegasus \(MVP\)
16/11/2007 - 11:58 | Warnen spam
"Marko Lemmel" wrote in message
news:
Hallo,
weiß nicht ob ich meine Frage richtig aufstelle kann.

Ich möchte den Ordner von einem Netzlaufwerk auf einen Laptop kopieren mit
der abfrage ob die Datei oder der Ordner schon vorhanden ist.
Wenn nicht vorhanden oder die Datei auf dem Server neuer ist dann koiperen
aufs Laptop.
Leider bricht das Script ab mit Zugriff verweigert sobald er einen Ordner
neukopieren soll auf c:\programm\daten.
Die Dateien und Ordner vergleicht er immer.Nur neu anlegen bzw dann rüber
kopieren ergibt ein fehler.

Hier habe ich das Script mal auf geschrieben wie er es machen soll..
Beid er Zeile: objdatei.Attributes = objdatei.Attributes And Not 32
Bricht er immer ab...mit den oben genanten Fehler.
Was ist den daran Falsch?

Sub BackupFiles(ByVal objOrdner)
On Error Goto 0
strZielOrdner = strPathKopie & Mid(objOrdner.Path, Len(strPathOriginal) +
1)
If Not objfs.FolderExists(strZielOrdner) Then
objfs.CreateFolder strZielOrdner
End If
For Each objdatei In objOrdner.files
strZiel = objfs.Buildpath(strZielOrdner, objdatei.name)
docopy = False
If ((objdatei.Attributes And 32) = 32) Then
docopy = True
ElseIf Not objfs.FileExists(strZiel) Then
docopy = True
End If
If docopy Then
objdatei.copy strZiel
objdatei.Attributes = objdatei.Attributes And Not 32
intKopiert = intKopiert +1
Else
intAktell = intAktuell + 1
End If
Next
For Each objUnterordner In objOrdner.SubFolders
BackupFiles objUnterordner
Next

Grübel
Marko



Jetzt gerade bin ich ein bisschen knapp an Zeit, um Dein Skript
im Detail zu prüfen. Wenn's eilt, kannst Du die Sache mit einem
einfachen Befehl erledigen:

@echo off
set Ursprung=d:\Ordner
set Ziel=X:\
xcopy /d /s /y /c "%Ursprung%" "%Ziel%\"

Ähnliche fragen