WinFuture-Forum.de: .bat Script für VMWare Image - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

.bat Script für VMWare Image


#1 Mitglied ist offline   sandronesta 

  • Gruppe: Mitglieder
  • Beiträge: 10
  • Beigetreten: 29. Juni 15
  • Reputation: 0

geschrieben 29. Februar 2016 - 20:11

Liebe Community,

ich habe ein VMWare Image, dass jeden Tag gesichert werden soll. Dieses Script funktioniert auch sehr gut.

"C:\Program Files (x86)\VMware\VMware Workstation\vmrun" suspend "C:\VMWare\2\Muster\Muster.vmx"
xcopy C:\VMWare\2\Zieger H:\VMSicherung\%date%\ /e /y /i
"C:\Program Files (x86)\VMware\VMware Workstation\vmrun" start "C:\VMWare\2\Muster\Muster.vmx"

Damit die externe Festplatte nicht übergeht, möchte ich, dass die Ordner die älter als sechs Tage sind gelöscht werden.

Also es gibt im Ordner H:\VMSicherung\ dann die Ordner 29.02.2016, 28.02.2016 (...) 23.02.2016. Leider schaffe ich es nicht, dass diese Ordner gelöscht werden.

Wie würde der entsprechende Befehl lauten?

Die jetztige Lösung funktioniert leider nicht

for /f "skip=6 delims=" %%i in ('dir /b /o-d /ad "H:\VMSicherung\??.??.20??"') do rmdir /s /q "%%i"


Eine weitere Frage habe ich noch für ein Script. Ich möchte einmal die Woche den Freitagsordner mittels 7-Zip packen und zwar in 600 MB Teile. Danach möchte ich diese gepackten Dateien in einen anderen Ordner verschieben. Wie würde dies funktionieren.


Herzlichen Dank!

LG - Nesta
0

Anzeige



#2 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 29. Februar 2016 - 22:54

Forfiles mit Parameter /D -6 listet Verzeichniseinträge, die in den letzten 6 Tagen nicht verändert wurden; mit /M gibst Du eine Maske mit (zB *.vmdk) und mit /C einen Befehl, der für jeden dieser Verzeichniseinträge ausgeführt wird.

Näheres unter
forfiles /? | more
.

- Was 7zip angeht, schaust Du am besten in die Hilfedatei (7-zip.chm) unter "Command Line Version"; da steht übersichtlich aufgelistet, welcher Schalter was tut. Der Schalter für MultiVolume ist -v.

Einfacher ginge es mit der Powershell; hier könntest Du einfach alle Verzeichniseinträge auflisten, welche vor mehr als $numDays Tagen erstellt worden sind:

Get-ChildItem | Where-Object {$_.CreationTime -lt ((Get-Date).AddDays(-$numDays)) }



Dahinter noch ein
| Remove-Item -Recurse -WhatIf:$true
dran und Du wirst informiert, was gelöscht werden *würde*; machst Du aus dem $true ein $false oder schmeißt das -WhatIf ganz weg, sagt er nix mehr, sondern löscht halt.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#3 Mitglied ist offline   sandronesta 

  • Gruppe: Mitglieder
  • Beiträge: 10
  • Beigetreten: 29. Juni 15
  • Reputation: 0

geschrieben 01. März 2016 - 05:57

Danke RalphS das PowerShell Script funktioniert hervorragend. Beim 7-Zip Commander habe ich noch einige Probleme

C:\Program Files\7-Zip\7zG.exe a -7z H:\transfer @H:\VMSicherung\%date%\ -v650m


Die .bat Datei ruft zuerst den 7-Zip Commander auf. Es soll im Ordner H:\transfer eine gepackte und auf 650 MB gesplittete Datei des Ordners H:\VMSicherung\&date%\ also mit dem aktuellen Datum erstellt werden. Diese .bat Datei wird mit Aufgabenplaner einmal in der Woche ausgeführt.

Funktioniert leider noch nicht so richtig.

LG - Nesta
0

#4 Mitglied ist offline   evil.baschdi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.639
  • Beigetreten: 11. Februar 07
  • Reputation: 56
  • Geschlecht:Männlich
  • Wohnort:127.0.0.1, breites #Neuland
  • Interessen:IT, Musik

geschrieben 01. März 2016 - 07:34

mit forfiles wäre ich vorsichtig, da dann auch dateien verloren gehen könnten, die zwar zur letzten sicherung gehören, aber dennoch seit zig jahren nicht angefasst wurden.
Eingefügtes Bild

"
Heute code ich, morgen debug ich und übermorgen caste ich die Königin auf int!"
P.S. Ich leiste keinen Support per PN. Wer ein Problem hat, ab damit ins Forum!
Windows 10 - Windows Anleitungen
0

#5 Mitglied ist offline   sandronesta 

  • Gruppe: Mitglieder
  • Beiträge: 10
  • Beigetreten: 29. Juni 15
  • Reputation: 0

geschrieben 01. März 2016 - 07:53

Danke, ich hab die Forfiles .bat Datei gegen das Powershell Script von RalphS getauscht. Jetzt fehlt mir nur noch die richtigen 7-Zip Commandos.
0

#6 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 01. März 2016 - 08:40

Sinngemäß braucht 7z (mit oder ohne g):

a <Archivname> (*)
-t <Archivtyp> (*)
-v <Volumegröße>
Datei(en) und/oder Verzeichnis(se) welche gepackt werden sollen
.

(*) - wenn der Archivtyp aus dem Archivnamen hervorgeht, kann man das -t weglassen. 7z a datei.7z und 7z a -t7z datei.7z tun dasselbe; 7z a -tzip datei.7z erstellt ein ZIP-Archiv mit "falscher" Erweiterung (und 7z a -tzip datei erstellt "datei" als Ziparchiv).

Das @ frißt eine Dateiliste und braucht daher eine Datei als Argument; diese wird ausgelesen und pro Zeile als ein Dateipfad interpretiert. Den ganzen Ordner ohne das @; wenn Du eine Datei mit den zu sichernden Dateinamen drin hast, mit dem @.

Zusammen also in etwa sowas wie
"C:\Program Files\7-Zip\7z.exe" a "H:\transfer.7z"  -v650m "H:\VMSicherung\%date%\" 



was Dir alle Dateien unter H:\VMSicherung\%date% ins Archiv H:\transfer.7z steckt und dieses Archiv in CD-große Häppchen stückelt.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#7 Mitglied ist offline   sandronesta 

  • Gruppe: Mitglieder
  • Beiträge: 10
  • Beigetreten: 29. Juni 15
  • Reputation: 0

geschrieben 01. März 2016 - 22:31

Danke funktioniert wie gewünscht.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0