Uli 10 Geschrieben 24. Februar 2003 Melden Teilen Geschrieben 24. Februar 2003 Hi, ich habe mich für die teilweise Neuorganisation der Datensicherung bei uns für dieses Script entschieden: Dim verzeichnis1, verzeichnis2, verzeichnis3, verzeichnis4, verzeichnis5, verzeichnis6, verzeichnis7 verzeichnis1=InputBox("Welcher Ordner sollen gesichert werden?") verzeichnis2=InputBox("Welcher Ordner sollen gesichert werden?") verzeichnis3=InputBox("Welcher Ordner sollen gesichert werden?") BackupPath = "H:\Backup" If Wscript.Arguments.Count = 0 Then Quantity = 7 redim MyData(Quantity) MyData(1) = verzeichnis1 MyData(2) = verzeichnis2 MyData(3) = verzeichnis3 Else redim MyData(1) MyData(1) = Wscript.Arguments(0) Quantity = 1 End If set fso = CreateObject("Scripting.FileSystemObject") strScript = WScript.ScriptFullName strScript = fso.GetFileName( strScript ) strScript = left( strScript, len(strScript) - 4 ) StartMe = msgbox("" & vbcrlf & vbcrlf & _ "Die Daten werden gesichert nach " & BackupPath & " (" & strScript & ")" & vbcrlf & vbcrlf & _ "Möchten Sie das Backup jetzt starten ? ?" , 33, "Backup Tool") if StartMe = 2 then wscript.quit End if count = 0 dim arrResults redim arrResults(0) If right(BackupPath, 1) <> "\" then BackupPath = BackupPath & "\" End If call CheckPath if not fso.folderExists ( BackupPath ) then fso.CreateFolder( BackupPath ) end if If left(BackupPath , 1) = "\" then for ss = 1 to len(BackupPath ) strCh = mid(BackupPath , ss, 1) if strCh = "\" then countslash = countslash + 1 if countslash = 3 then drv = ss + 3 end if next 'ss if not countslash >= 3 then msgbox "Error in script relative to network path" else drv = 5 End If For i = 1 to Quantity If MyData(i) <> "" then if fso.DriveExists( MyData(i) ) Then call backup( MyData(i) ) elseif fso.folderExists(MyData(i)) then call MakeFolderPath( BackupPath & right(MyData(i), len(MyData(i))-3 ) ) call backup( MyData(i) ) elseif fso.fileExists(MyData(i)) then call FileBackup( MyData(i) ) else msgbox MyData(i) & vbcrlf & vbcrlf & "Diese Datei bzw. dieses Verzeichnis scheint nicht zu existieren" & _ vbcrlf & "Bitte vergewissern Sie sich ob die richtige Dateibzw. das richtige Verzeichnis angegeben wurde" & vbcrlf & _ "und die Datei oder das Verzeichnis nicht umbenannt, verschoben oder gelöscht wurde.", 48, "Datei oder Verzeichnis Fehler" end if End If Sub Backup( mypath ) if ExcludeF( mypath ) = False then Set fldr = fso.GetFolder( myPath ) For Each f in fldr.Files DoEvents If not fso.folderExists( BackupPath & right(myPath, len(myPath)-3 )) then call MakeFolderPath( BackupPath & right(myPath, len(myPath)-3 )) End if If fso.DriveExists( mypath ) Then backfolder = BackupPath else backfolder = BackupPath & right(fldr, len(fldr)-3 ) & "\" end if ext = right(Lcase(f.name), 3) if ext <> "tmp" then backupfile = backfolder & f.name If fso.fileExists( backupfile ) then if fso.GetFile(f).DateLastModified > fso.GetFile(backupfile).DateLastModified then fso.CopyFile f, backfolder, true count = count + 1 ReDim Preserve arrResults(count) arrResults(count) = f end if Else fso.CopyFile f, backfolder, true count = count + 1 ReDim Preserve arrResults(count) arrResults(count) = f End if end if DoEvents Next For Each Folder In fldr.SubFolders Call Backup(Folder) Next End if End Sub Sub FileBackup( myFile ) set f = fso.GetFile( myFile ) backupfile = BackupPath & f.name If fso.fileExists( backupfile ) then if fso.GetFile(f).DateLastModified > fso.GetFile(backupfile).DateLastModified then fso.CopyFile f, BackupPath , true count = count + 1 ReDim Preserve arrResults(count) arrResults(count) = f end if Else fso.CopyFile f, BackupPath , true count = count + 1 ReDim Preserve arrResults(count) arrResults(count) = f End if End Sub Sub MakeFolderPath( myfolder ) For x = drv to len( myFolder ) MyChr = mid( myFolder , x, 1) if mychr = "\" then xfolder = left(myfolder, x-1) if not fso.folderExists ( xFolder ) then fso.CreateFolder( xFolder ) end if end if Das funktioniert auch bestens. Allerdings bin ich noch nicht so ganz zufrieden, denn entweder ich gebe die Verzeichnisse direkt vor die gesichert werden sollen, oder ich lasse die MA über die InputBoxen am Anfang selbst die Verzeichnisse festlegen. Ich hätte es aber gerne, das der MA einmal die Verzeichnisse definiert und später nur bei Bedarf über die Input Box die Verzeichnisse ändert. Habt ihr da eine Idee, wie ich nur bei Bedarf auf die Input Box zugreifen kann, bzw. Wie ich beim ersten Start die Verzeichnisse definieren kann und das script sich diese "merkt". Danke unnd Gruss Zitieren Link zu diesem Kommentar
Dr.Melzer 191 Geschrieben 24. Februar 2003 Melden Teilen Geschrieben 24. Februar 2003 Hast du schon mal darüber nachgedacht etwas Geld in eine vernünftige Datensicherungssoftware zu investieren? Zitieren Link zu diesem Kommentar
Uli 10 Geschrieben 25. Februar 2003 Autor Melden Teilen Geschrieben 25. Februar 2003 In diesem Fall nicht. Für die anderen Rechner bzw. Server haben wir Backupsoftware im Einsatz. Die Lösung wollte / will ich aber für einige Notebooks umsetzen. KLappt ja soweit auch ganz gut. Nur leider hänge ich noch daran. Das man nur einmal die Verzecihnisse definiert und danach nur bei Bedarf diese ändert. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.