Ansicht:   

#264816

effeff

Ostfriesland,
23.03.2011, 10:51:22
(editiert von effeff, 23.03.2011, 10:52:07)

@balu_baer: Sicherungsscript... (ed) (pc.coding)

Hallo,

ich habe nun mal ein bisschen Muße gehabt, das von mir ungeprüfte Script nachzubessern. Es sollte nun funktionieren und selbst erklärend sein. 7-Zip habe ich zwar auch auf meinen Rechner drauf, wusste aber bisher nicht, dass man es hervorragend zum Scripten benutzen kann. Schönen Dank für diese Erleuchtung!  :ok:

Hier also mein Entwurf, den du in eine Textdatei kopieren musst, deren Endung du \".vbs\" umbenennst:


\'Script by effeff 03/2011

\'Das Script sucht aus einem Verzeichnis alle Dateien mit einer bestimmten Endung heraus und
\'erstellt mittels 7-Zip von jeder Datei eine gepackte Version, in deren Dateiname das
\'Erstellungsdatum der Originaldatei enthalten ist. Die gepackten Dateien werden in einem
\'Unterverzeichnis des durchsuchten Verzeichnisses gespeichert. Zum Anpassen des Scriptes
\'bitte die mit Kommentaren versehenen Zeilen benutzen.

DIM FSO
DIM fld
DIM fil
DIM Datum
Dim Jahr
Dim Monat
Dim Tag
Dim Stunden
Dim Minuten
Dim Sekunden
Dim Befehl
Dim oShell
Dim Backupverzeichnis
Dim Sicherungsverzeichnis
Dim Dateityp
Dim i

On Error Resume Next

Set FSO=CreateObject(\"Scripting.FileSystemObject\")

\'Hier musst du den kompletten Pfad angeben, in welchem die zu sichernden Dateien sich befinden:
Backupverzeichnis=\"D:\\Backup\\\"

\'Hier wird ein Unterverzeichnis angegeben, in welches die gepackten Dateien gespeichert werden sollen:
Sicherungsverzeichnis=Backupverzeichnis & \"7z\\\"

\'Hier wird angegeben, welche Endung die zu packenden Dateien haben:
Dateityp=\".bak\"

Set fld=FSO.GetFolder(Sicherungsverzeichnis)

If fld Is Nothing Then
	FSO.CreateFolder(Sicherungsverzeichnis)
End If

Set fld=FSO.GetFolder(Backupverzeichnis)

i=0

For Each fil in fld.Files

If Right(fil.Name, 4)=\"Dateityp\" Then

	Jahr=Year(fil.DateCreated)
	
	Monat=Zweistellig(Month(fil.DateCreated))
	
	Tag=Zweistellig(Day(fil.DateCreated))

	Stunden=Zweistellig(Hour(fil.DateCreated))

	Minuten=Zweistellig(Minute(fil.DateCreated))

	Sekunden=Zweistellig(Second(fil.DateCreated))
	
	Datum=Jahr & Monat & Tag & Stunden & Minuten & Sekunden

	\'Hier wird der Befehl zum packen zusammengebastelt. Für Pfade mit Leerzeichnen ist das erste Beispiel zu wählen/anzupassen. Ansonsten das zweite Beispiel bitte anpassen.
	Befehl=\"C:\\\" & CHR(34) & \"Program Files\" & CHR(34) & \"\\7-Zip\\7z a -mx9 \" & Sicherungsverzeichnis & \"Backup_vom_\" & Datum & \".7z \" & Backupverzeichnis & fil.Name
	\'Befehl=\"C:\\Programme\\7zip\\7z a -mx9 \" & Sicherungsverzeichnis & \"Backup_vom_\" & Datum & \".7z \" & Backupverzeichnis & fil.Name
	
	Set oShell = WScript.CreateObject (\"WScript.Shell\")

		oShell.run Befehl

	Set oShell = Nothing
	
	i=i+1
	
End If	
	
Next

	Set fil=Nothing
	Set fld=Nothing
	Set FSO=Nothing

MsgBox (\"Die 7zip-Verarbeitung sollte beendet sein!\" & vbCrLf & \"Es wurden \" & i & \" Dateien gesichert\" & vbCrLf & \" in \" & Sicherungsverzeichnis & \"!\")

Function Zweistellig (Nr)

		If Nr < 10 then
			Zweistellig= \"0\" & Nr
		Else
			Zweistellig=Nr
		End If

End Function

--
Gruß,

ff

Möge TUX mit dir sein!

#264820

balu_baer

23.03.2011, 11:04:06

@ effeff

@balu_baer: Sicherungsscript...

Hi effeff,

> Hier also mein Entwurf, ...

Sieht vielversprechend aus. Aktuell läuft noch eine größere Aktion (400 GB werden gepackt), wenn das durch ist, bzw. ich eine Pause einlegen kann, lasse ich dein Skript mal auf meine Testdaten los.

Vorab schon mal vielen Dank! :waving:

Nette Grüße,
Marco

#264825

effeff

Ostfriesland,
23.03.2011, 11:25:25

@ balu_baer

@balu_baer: Sicherungsscript...

> Hi effeff,
>
> > Hier also mein Entwurf, ...
>
> Sieht vielversprechend aus. Aktuell läuft noch eine größere Aktion (400 GB
> werden gepackt), wenn das durch ist, bzw. ich eine Pause einlegen kann,
> lasse ich dein Skript mal auf meine Testdaten los.
>
> Vorab schon mal vielen Dank! :waving:
>
> Nette Grüße,
> Marco

Denk bei den Testdateien daran: Wenn du deine Original-Baks in ein Testverzeichnis kopierst, haben diese zwar das alte Änderungsdatum, aber bekommen ein neues Erstellungsdatum!!!

--
Gruß,

ff

Möge TUX mit dir sein!

#264867

effeff

Ostfriesland,
23.03.2011, 15:12:21

@ balu_baer

@balu_baer: Sicherungsscript...

> Hi effeff,
>
> > Hier also mein Entwurf, ...
>
> Sieht vielversprechend aus. Aktuell läuft noch eine größere Aktion (400 GB
> werden gepackt), wenn das durch ist, bzw. ich eine Pause einlegen kann,
> lasse ich dein Skript mal auf meine Testdaten los.
>
> Vorab schon mal vielen Dank! :waving:
>
> Nette Grüße,
> Marco

Zu meiner anderen Antwort:

Wenn du Dateien kopieren willst zum Testen und die Originalangaben für Erstell- und Änderungsdatum behalten willst, kopiere die Daten mit robocopy.

Die Parameter lauten dann:

robocopy d:\\irgendwas\\deinmasterverzeichnis d:\\wasanderes\\deintestverzeichnis file *.bak /TS

--
Gruß,

ff

Möge TUX mit dir sein!

#264871

balu_baer

23.03.2011, 15:24:05

@ effeff

@balu_baer: Sicherungsscript...

> Wenn du Dateien kopieren willst zum Testen und die Originalangaben für
> Erstell- und Änderungsdatum behalten willst, kopiere die Daten mit
> robocopy.
>
> Die Parameter lauten dann:
>
> robocopy d:\\irgendwas\\deinmasterverzeichnis
> d:\\wasanderes\\deintestverzeichnis file *.bak /TS

Mensch, was für ein Service - auf dem Silberlöffel präsentiert, nur kauen muss ich noch selbst  :-D

Danke dir,
Marco

#264878

Jeff Clay

Syria Planum,
23.03.2011, 15:38:23

@ balu_baer

@balu_baer: Sicherungsscript...

> nur kauen muss ich noch selbst  :-D

und was ist mit schlucken  :kratz:

--
gruß Jeff Clay

[14.07.2011-11:12] balu_baer: du warst mal wieder viel klüger, als ich  :-D (Dieser Satz ist nicht für die öffentliche Verwendung freigegeben!)

#264879

balu_baer

23.03.2011, 15:40:07

@ Jeff Clay

@balu_baer: Sicherungsscript...

> > nur kauen muss ich noch selbst  :-D
>
> und was ist mit schlucken  :kratz:

Da muss ich dich enttäuschen, fürs Schlucken bin ich nicht zu haben  :rofl:
Dazu wende dich bitte an deine Freundin  :rotfl:

#264880

effeff

Ostfriesland,
23.03.2011, 15:47:37

@ Jeff Clay

@balu_baer: Sicherungsscript...

> > nur kauen muss ich noch selbst  :-D
>
> und was ist mit schlucken  :kratz:

Kommt drauf an, wo man den Silberlöffen hinsteckt...  :teufel:

--
Gruß,

ff

Möge TUX mit dir sein!

Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz