Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Brauche spezielles Backup Script!

Frage Entwicklung VB for Applications

Mitglied: chrizz-at

chrizz-at (Level 1) - Jetzt verbinden

10.09.2008, aktualisiert 11.09.2008, 4876 Aufrufe, 5 Kommentare

Liebe Gemeinde, ich brauche unbedingt hilfe bei einem Kopier/Backupscript in der Sprache VBScript. Es soll einen Ordner, seine Unterordner und die darin liegenden Dateien (Also einen ganzen Verzeichnisbaum) von A nach B kopieren. (Das heisst die Ordner auch als Abbild vom Quellverzeichnisbaum ins Ziel erstellen)
Und dies einzeln und auf jeden fall Rekursiv! Da es eine ErrorMessage ausgeben soll falls eine Datei nicht kopiert werden konnte.
Es soll auch ausgeben welche Dateien und Ordner tatsächlich kopiert wurden.


Hier mein Anfang: (bei 'Files kopieren weis ich nicht mehr weiter!!)

01.
Option Explicit 
02.
' Aufruf der Routine 
03.
' Konstanten definieren 
04.
Const srcDir = "C:\Addon" 
05.
Const destDir = "D:\Temp" 
06.
 
07.
Dim log 
08.
Dim errorLog 
09.
log = "" 
10.
errorLog = "" 
11.
 
12.
ListeVerzeichnisseRek srcDir, destDir, 1 
13.
Wscript.echo log 
14.
Wscript.echo errorlog 
15.
 
16.
Private Sub AddLog(logLine) 
17.
	log = log + logLine+CHR(13) 
18.
End Sub 
19.
 
20.
Private Sub AddErrorlog(logLine) 
21.
	errorlog = errorlog + logLine+CHR(13) 
22.
End Sub 
23.
 
24.
private Sub ListeVerzeichnisseRek(srcDir, destDir, tiefe) 
25.
	On Error Resume Next 
26.
	' Deklaration der Variablen 
27.
	Dim FSO, Verzeichnis, UnterVerzeichnis 
28.
	' Objekt erzeugen 
29.
	Set FSO = CreateObject("Scripting.FileSystemObject") 
30.
	 
31.
	'  Wenn das Verzeichnis existiert 
32.
	If FSO.FolderExists(srcDir) and (tiefe < 4) then 
33.
		AddLog srcDir + " -> " + destDir 
34.
	End if 
35.
	 
36.
	' Referenz auf Verzeichnis 
37.
	Set Verzeichnis = FSO.GetFolder(srcDir) 
38.
	 
39.
	'Files kopieren 
40.
	 
41.
	 
42.
		if Err.Number <> 0 then 
43.
			addErrorLog("Es ist ein Fehleraufgetreten.") 
44.
			addErrorLog(vbTab & "Fehlernummer: " & Err.Number) 
45.
			addErrorLog(vbTab & "Beschreibung: " & Err.Description & vbCrLf) 
46.
			addErrorLog(Err.Description) 
47.
			Err.Clear 
48.
		End if 
49.
	Next 
50.
		'Alle Unterverzeichnisse auflisten 
51.
	For Each UnterVerzeichnis in Verzeichnis.Subfolders 
52.
			' Erneuter Aufruf mit dem Unterverzeichnis 
53.
			ListeVerzeichnisseRek UnterVerzeichnis, destDir & "\" & UnterVerzeichnis.Name, tiefe + 1 
54.
	Next 
55.
End Sub


Falls jemand sowas schon hat, wäre ich sehr dankbar wenn er das Script posten könnte. Bin noch ein Anfänger und es wird mir irgendwie schon zu schwierig!


Lg Chris
Mitglied: Iwan
10.09.2008 um 10:26 Uhr
hallo,

warum MUSS es unbedingt VBS sein? robocoy z.B. kopiert das ganze im Batchmodus und man kann sich ein schönes Log dazu erstellen lassen
Bitte warten ..
Mitglied: wakko
10.09.2008 um 13:35 Uhr
Moin,

hab da noch tief in meinen Programmen was gefunden:
01.
Function fct_ListAllFiels(strinPath As String) 
02.
Dim flag As Boolean, vadd() As String 
03.
strinPath = fct_BackSlash(strinPath) 
04.
'Gibt die Namen aller Dateien inklusive Pfad aus einem übergebenen Verzeichnisses sowie 
05.
' aus allen Unterverzeichnisse in einem String-Array zurück 
06.
Dim f, fs, fc, f1, fsub, strName As String, i As Integer, v() As String, j% 
07.
Set fs = CreateObject("Scripting.FileSystemObject") 
08.
If fs.FolderExists(strinPath) Then 
09.
   Set f = fs.GetFolder(strinPath) 
10.
   Set fc = f.Files 
11.
   i = 0 
12.
   flag = True 
13.
   For Each f1 In fc 
14.
        strName = f1.Name 
15.
        ReDim Preserve v(0 To i) 
16.
        v(i) = strinPath & "\" & strName 
17.
        i = i + 1 
18.
   Next 
19.
   If f.SubFolders.Count > 0 Then 
20.
      For Each fsub In f.SubFolders 
21.
          'rekursiver Aufruf für Unterordner 
22.
          vadd = fct_ListAllFiels(strinPath & "\" & fsub.Name) 
23.
          For j = 0 To UBound(vadd) 
24.
              ReDim Preserve v(0 To i) 
25.
              v(i) = strinPath & "\" & fsub.Name & "\" & vadd(j) 
26.
              i = i + 1 
27.
          Next 
28.
      Next 
29.
   End If 
30.
End If 
31.
fct_ListAllFiels = v 
32.
End Function
Gibt ein Array mit allen Dateien zurück. Ist eigentlich VB, müsste als VBScript jetzt auch laufen (habe da Kleinigkeiten angepasst).
Noch nicht wirklich getestet, also bitte vorsicht.
Du müsstest also nur noch durchs Array flitzen, als Ziel source mit dest vertauschen und fertig. Also quasi so oder ähnlich:
01.
sub copyfiles(source, dest) 
02.
dim v, i% 
03.
v = fct_ListAllFiles(souce) 
04.
for i = 0 to ubound(v) 
05.
    filecopy v(i) replace(v(i), source, dest) 
06.
Next 
07.
End sub
Hoffe, das hilft etwas.
Log's bekommst du schon hin ;)
Gruß,
Henrik
Bitte warten ..
Mitglied: chrizz-at
11.09.2008 um 09:16 Uhr
Warum es VBS sein muss? Weil das Script nur im Hintergrund laufen soll und kopieren, und soll auch logs ausgeben. (Ist für einen Kunden von uns)

Für Error und die Daten die tatsächlich kopiert wurden..

lg
Bitte warten ..
Mitglied: Iwan
11.09.2008 um 14:14 Uhr
wie gesagt, robocopy kann das alles, aber mit VBS? sorry
Bitte warten ..
Mitglied: chrizz-at
11.09.2008 um 14:47 Uhr
Habe es sogut wie fertig.. Es kopiert alle Dateien einzeln (rekursiv) und erstellt die Ordner für den Zielort! Wenn etwas nicht kopiert werden kann schreibt es eine Logfile und kopiert weiter..

Ich kann es morgen reinstellen wer es haben will!

lg chris
Bitte warten ..
Ähnliche Inhalte
Cloud-Dienste
Webmail-Script mit speziellen Anforderungen gesucht
gelöst Frage von 16568Cloud-Dienste1 Kommentar

Hallo zusammen, nach 3 Stunden Suche habe ich so langsam die *§!%& voll :-) Gesucht wird ein PHP-Script, welches ...

Windows Userverwaltung
PowerShell Script um spezielle Rechner herunterzufahren
gelöst Frage von Stefan007Windows Userverwaltung20 Kommentare

Hi Leute, wie man per CMD Rechner runterfährt ist mir bekannt. Mir geht es jetzt aber um den "Luxus" ...

Backup
Private Backup-Strategie, brauche eure Unterstützung
Frage von gnjkl7Backup1 Kommentar

HiHo, ich versuche nun privat eine Backup-Strategie aufzubauen, bzw. endlich in Angriff zu nehmen :-) Backups meiner Daten aus ...

Backup
Backup für Server 2008R2 von "spezieller Backup Festplatte" zurückspielen nicht möglich
Frage von SKB-CGNBackup17 Kommentare

Hallo Zusammen, bis gestern hatte ich einen Server 2008R2 laufen, der regelmäßig auf eine externe USB-Festplatte (spezielle Backup Festplatte ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 2 StundenInternet1 Kommentar

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 9 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 20 StundenWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 22 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless15 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...