Drive Snapshot Kommandozeilen und Batch Skript

Hausmeister

Bekanntes Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Code:
@echo off
rem ----- prueft das OS --------------------

VER |find /i "Windows 95" >NUL
IF NOT ERRORLEVEL 1 SET os=95
VER |find /i "Windows 98" >NUL
IF NOT ERRORLEVEL 1 SET os=98
VER |find /i "Windows Millennium" >NUL
IF NOT ERRORLEVEL 1 SET os=ME
VER | find "XP" > nul
IF %errorlevel% EQU 0 SET os=XP
VER | find "2000" > nul
IF %errorlevel% EQU 0 SET os=2000
VER | find "NT" > nul
IF %errorlevel% EQU 0 SET os=NT
VER | find "Microsoft Windows [Version 6.0" > nul
IF %errorlevel% EQU 0 SET os=Vista
VER | find "Microsoft Windows [Version 6.1" > nul
IF %errorlevel% EQU 0 SET os="W7"
VER | find "Microsoft Windows [Version 5" > nul
IF %errorlevel% EQU 0 SET os=2003

Rem ----- Seriennummer der Partition auslesen --------------
For /F "Tokens=2 Skip=1" %%i IN ('vol "%SystemDrive%"') DO Set Num=%%~i

rem ----- Erstellt falls notwendig ein Verzeichnis --------------------
if not exist Win-%os%-%Num%-Backup md Win-%os%-%Num%-Backup

rem ----- Verzeichnis in Variable - ver --------------------
FOR %%a in (Win-%os%-%Num%-Backup\) do SET ver=%%a

rem ----- Pruefe ob *.hsh vorhanden --------------------
FOR %%a in (Win-%os%-%Num%-Backup\*.hsh) do SET snhsh=%%a

echo.
echo Partition = %SystemDrive% / ID = %Num% / OS= %os% / Benutzer = %Computername%

if not exist "%snhsh%" goto NB

echo.
echo Backup gefunden "%snhsh%"
snapshot.exe "%SystemDrive%" "%ver%\HD-%SystemDrive:~0,1%-%os%-%Computername%--$day-$month-$year--$type.sna" -W -R -Go -L8000 -h"%snhsh%"
goto end

:NB
echo.
echo Es wurde kein Hashfile (.HSH) gefunden !
echo Erstelle ein vollstaendiges Backup von Festplatte "%SystemDrive%"
echo.
snapshot.exe "%SystemDrive%" "%ver%\HD-%SystemDrive:~0,1%-%os%-%Computername%-VBackup-$day-$month-$year.sna" -W -R -Go -L8000

REM -- Erstellung Prüfroutine bericht.log
echo.
echo Erstelle ein Bericht vom Backup von Festplatte "%SystemDrive%"
echo.
SNAPSHOT.exe %path%\$computername_LW-$disk_$date.sna -R -W -T -Gx -L4480 >> %path%\snapshot.log
:end

irgend wie haut es mit der log nicht hin. :(
 

MegaDeath

Bekanntes Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Mit Log und Shutdown :)

Code:
@echo off
rem ----- prueft das OS ------------------------------------------------
REM FOR /F "tokens=3" %%a in ('ver') do SET os=%%a

VER |find /i "Windows 95" >NUL
IF NOT ERRORLEVEL 1 SET os=95
VER |find /i "Windows 98" >NUL
IF NOT ERRORLEVEL 1 SET os=98
VER |find /i "Windows Millennium" >NUL
IF NOT ERRORLEVEL 1 SET os=ME
VER | find "XP" > nul
IF %errorlevel% EQU 0 SET os=XP
VER | find "2000" > nul
IF %errorlevel% EQU 0 SET os=2000
VER | find "NT" > nul
IF %errorlevel% EQU 0 SET os=NT
VER | find "Microsoft Windows [Version 6.0" > nul
IF %errorlevel% EQU 0 SET os=Vista
VER | find "Microsoft Windows [Version 6.1" > nul
IF %errorlevel% EQU 0 SET os="W7"
VER | find "Microsoft Windows [Version 5" > nul
IF %errorlevel% EQU 0 SET os=2003

rem ----- Seriennummer der Partition auslesen -------------------------
For /F "Tokens=2 Skip=1" %%i IN ('vol "%SystemDrive%"') DO Set Num=%%~i

rem ----- Erstellt falls notwendig ein Verzeichnis --------------------
if not exist Win-%os%-%Num%-Backup md Win-%os%-%Num%-Backup

rem ----- Verzeichnis in Variable - ver -------------------------------
FOR %%a in (Win-%os%-%Num%-Backup\) do SET ver=%%a

rem ----- Pruefe ob *.hsh vorhanden -----------------------------------
FOR %%a in (Win-%os%-%Num%-Backup\*.hsh) do SET snhsh=%%a

echo.
echo Partition = %SystemDrive% / ID = %Num% / OS= %os% / Benutzer = %Computername%
echo.
if not exist "%snhsh%" goto NB

echo Backup gefunden "%snhsh%"
echo.
echo ------------------------------------------------------------------
snapshot.exe "%SystemDrive%" "%ver%\HD-%SystemDrive:~0,1%-%os%-%Computername%--$day-$month-$year--$type.sna" -W -R -Go -L8000 -h"%snhsh%" --LogFile:%ver%LOGFILE.TXT
goto end

:NB
echo Es wurde kein Hashfile (.HSH) gefunden !
echo Erstelle ein vollstaendiges Backup von Festplatte "%SystemDrive%"
echo.
echo ------------------------------------------------------------------
snapshot.exe "%SystemDrive%" "%ver%\HD-%SystemDrive:~0,1%-%os%-%Computername%--VBackup-$day-$month-$year.sna" -W -R -Go -L8000 --LogFile:%ver%LOGFILE.TXT

:end

REM  Zum deaktivieren des Shutdown einfach REM davor schreiben :)
Shutdown -s -f -t 8

Shutdown mit Timer von 8 Sekunden -t 8 damit man notfalls noch reagieren kann.
 

Hausmeister

Bekanntes Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

danke! das werde ich am montag gleich auf arbeit ausprobieren! :yo
 

Gamma

Bekanntes Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Für das differentielle Backup habe ich die Batchdatei von EchtAtze mit der Funktion der Überprüfung erweitert, da ich das bei meinen Backups für nötig halte.
Evtl. braucht das noch einer von Euch.


Code:
@ECHO OFF
@SET "HASHFILE_PATTERN=X:\Image\*.hsh"
REM Pfad oben anpassen
@FOR /f "delims=" %%i IN ('ECHO %HASHFILE_PATTERN%') DO SET "HASHFILE=%%~dpnxi"
@ECHO ******************************************
@ECHO *                                        *  
@ECHO * Erstelle nun differentielles Backup... *
@ECHO *                                        *  
@ECHO ******************************************
@ECHO Verwende Hashfile: %HASHFILE%
@ECHO.
@ECHO.
X:\Tools\Disk\Snapshot\snapshot.exe C: X:\Image\$year$month$day-Backup-$type.sna -W -h%HASHFILE%
REM Pfade oben anpassen
@ECHO OFF
REM --- Prüfe erstellte Images ---
set path=X:\Image
REM Pfad oben anpassen
snapshot.exe X:\Image\$year$month$day-Backup-dif.sna -T >>%path%\backup.log
REM Pfad oben anpassen
REM
@ECHO Fertig >>%path%\backup.log
start notepad.exe %path%\backup.log
 

Bestatter

Schwarzfahrer
AW: Drive Snapshot Kommandozeilen und Batch Skript

Mit dem Umstieg von XP zu Win7 x64 bin ich in die Falle getappt.

Was im GUI klappt (mit STRG beide Partitionen gleichzeitig markieren) bekomme ich in der Kommandozeile nicht hin.
Wie bekomme ich die 100MB-Partition HD1-1 und Laufwerk C: gleichzeitig per Batch gesichert und wiederhergestellt?

Der hier gefundene Ansatz mit dem "+"
Code:
"C:\Program Files\Drive_Snapshot\snapshot.exe" A:+C:+D:
I:\meinsicherungsverzeichnis\$disk_Partition_$year_$month_$day.SNA -G -O
-L50000 -R -W -PW=meinpassword -T
hilft mir nicht weiter, denn "HD1-1+C:" klappt nicht.
 

EchtAtze

Bekannter Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Du schreibst:
...denn "HD1-1+C:" klappt nicht.

Hier (snapshot.exe /?) liest man:
[backup multiple volumes and drives without drive letters]
Snapshot C:+D:+HD1:3 X:\$disk-DRIVE.sna
HD1:3 is the third partition on the first disk
HD1:* can be used to backup all partitions on the first disk

Demnach müsstest du wohl mit einem Doppelpunkt agieren:
"HD1:1+C:"

Gruß,
Atze
 

Bestatter

Schwarzfahrer
AW: Drive Snapshot Kommandozeilen und Batch Skript

Demnach müsstest du wohl mit einem Doppelpunkt agieren:
"HD1:1+C:"
Genau das hatte ich probiert, weil "HD1:1" ja vor "C:" auf der Festplatte liegt. Klappt aber nicht.

Ich hatte natürlich nur die Online-Hilfe bemüht. :|
Nach Deinem Zitat muss ich aber noch mal
C:+HD1:1
oder vielleicht gleich
HD1:*
Probieren.

Ich hatte mir jetzt die beiden Snapshots für HD1:1 und C: über das GUI erstellt.
Seltsamerweise habe ich jetzt aber Probleme beim Wiederherstellen auf die andere Platte.
HD1:1 am Anfang der Platte klappt.
Aber das Image im von C: im freien Bereich dahinter will nicht.
Ich lande immer wieder im Hauptfenster des GUI, wenn ich Restore auswähle. :icon_confused:
 

EchtAtze

Bekannter Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Da bin ich leider überfragt, weil ich die 100MB Partition nie sichern muss, da ich mir das seinerzeit so installiert habe, dass die Boot-Partitions Dateien mit auf C liegen.
Ist aber auch schon 2 Jahre her.
Wozu musste die denn unbedingt zusammen sichern?
 

Bestatter

Schwarzfahrer
AW: Drive Snapshot Kommandozeilen und Batch Skript

"HD1:*" klappt!
Es werden zwei einzelne Sicherungen für die beiden Partitionen angelegt.

Wozu musste die denn unbedingt zusammen sichern?
Damit ich nach einem Plattencrash (es sind SSDs) schnell den Rechner wieder flott habe, brauche ich das komplette Betriebssystem.
 

MegaDeath

Bekanntes Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Die 100MB Partition wird von Windows nur auf einer unpartitionierten Platte erstellt, und ist bei mir z.B. nicht vorhanden.
Die kleine Partition ist also nicht zwingend erforderlich, sollte Win7 aus irgendwelchen gründen nicht Booten wird es vermutlich genügen die Win7 DVD ins Laufwerk zu legen und die Computerreparaturoptionen auswählen.

Hat man einen Rechner ohne DVD-Laufwerk könnte man vorausschauend die Win7 Installations DVD mit WinToFlash auf einem USB-Stick speichern.

http://www.unawave.de/installation/boot-reparatur.html
http://www.drwindows.de/windows-tools/17159-wintoflash-windows7-in-wenigen-minuten-usb-stick.html

Ist sicherlich auch interesannt wenn man mit Windows auf eine neue Platte umzieht und Probleme mit dem Booten hat.
 

Bestatter

Schwarzfahrer
AW: Drive Snapshot Kommandozeilen und Batch Skript

So, der Drops ist gelutscht! :icon_mrgreen:
Es lag wohl daran, dass ich auch die 100MB Partition als "Primär" statt als "System" angelegt hatte.

Auch wenn es hier dezent offtopic ist, hier mal die Anleitung, falls noch mal jemand über die gleiche Stelle stolpert:
- Win7-DVD booten, HD partitionieren, beim Dateien-Kopieren dann raus mit Reset
- Snapshot-Medium booten, HD1:1 (System) + C: (Primär) einspielen
- ggf., wie von Snapshot vorgeschlagen, mit "snapshot --Checkboot HD1" Platte bootbar machen (siehe hier)
- Win7-DVD booten, Systemreparatur durchführen lassen
 

Hausmeister

Bekanntes Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

ich möchte meine 4 partitionen zu einer backupen, mit dem gedanken mir später eine größere festlpatte einzubauen.

wie müsste die bat ausehen? bzw. was muss ich bei snapshot einstellen?

bekomme folgende fehlermeldung: you have selected multiple partitions you must specify $disk in the output file name
 

EchtAtze

Bekannter Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

4 Partitionen in eine Partition überführen? Und das mit nem Image-Tool?
Irgendwas habe ich wohl falsch verstanden...
 

Bestatter

Schwarzfahrer
AW: Drive Snapshot Kommandozeilen und Batch Skript

Zusammenführen geht (natürlich) nicht, da hat EchtAtze vollkommen recht.

Mehrere Partitionen einer Disk in einem Vorgang / Batch auf einmal sichern klappt aber sehr wohl, wie in #110 erwähnt.
Es ist dabei egal, ob Du das über das GUI (mehrere anklicken) oder per Batch (z.B. HD1:*) machst.
Wichtig ist nur, dass in der Benennung des Images die Variable $disk einfügt ist.
Nichts anderes sagt ja die von Dir zitierte Fehlermeldung.
 

MegaDeath

Bekanntes Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Für den Umzug auf eine andere Platte finde ich Parted Magic sehr gut.

Neue Platte einbauen von CD Parted Magic Booten GParted starten neue Platte Partitionieren und Formatieren dann mittels Copy & Paste den Inhalt der Partitionen in die neu erstellten Partitionen Kopieren.
Die Windows Partition als Aktiv Markieren den Rechner runterfahren die alte platte ausbauen oder im Bios als Zweite Platte einstellen.
Dann Rechner neu starten und hoffen das Windows problemlos Startet, bei Problemen je nach OS Computerreparaturoptionen von Win7 benutzen oder FixBoot / FixMBR von XP.
 

Marc88

Neues Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Hallo, erstmal Danke für das gepostet Script. Ich habe es jedoch noch etwas verändert.
Jedoch habe ich nun das Problem mit dem anschließenden /verify.
PHP:
16:30:42 Start verification of: \\Server\Ordner\Computername\120322_$disk_$type_Computer.SNA
16:30:43 ***********************************************************
16:30:43 Snapshot error RESTORE, line 515
16:30:43 \\Server\Ordner\Computername\120322_$disk_$type_TESTCOMPUTER.SNA is not a valid volume image 
16:30:43 last Windows Error: 2-Das System kann die angegebene Datei nicht finden.

Seltsam ist das er im Backuplog $disk und $type nicht auflösen kann, jedoch wird $Date und $Computername richtig aufgelöst. Woran kann das liegen?

Hier mein Script:
PHP:
REM image.bat
@echo off
REM
REM -- DATUM --
REM
set jahr=%date:~-2%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
REM
REM -- Zielpfad für die zu erstellenden Images:
REM
set path=\\Server\xxx\yyy
REM
REM -- Dateiname der Image-Files
REM
set img1=%path%\$date_$disk_$type_$computername.SNA
set param=-L1490 -S100000 -R -W
REM
REM -- Befehlszeile für Drivesnapshot Full-Backup
REM
REM set snapid=%path%\$date_$disk_$type_$computername.SNA -L1490 -S100000 -R -W
REM
REM
REM -- Erstellung Prüfroutine backup.log
REM
echo. >>%path%\backup.log 
echo %jahr%%monat%%tag% >>%path%\backup.log
echo. >>%path%\backup.log
echo ----- Backup vom %date% um %time% ----- >>%path%\backup.log
echo. >>%path%\backup.log
REM
REM --- Full Backup Laufwerk X ---
REM
snapshot.exe HD1:* %img1%%param% >>%path%\backup.log
REM
REM --- Prüfe erstellte Images ---
REM
snapshot.exe %img1% -T >>%path%\backup.log
REM
echo.Fertig >>%path%\backup.log

Danke
Gruß

Marc
 

Opik

Team (Technik)
Mitarbeiter
AW: Drive Snapshot Kommandozeilen und Batch Skript

Hi Marc,
das Board hatte dich bei der Registrierung auf "Moderieren" gestellt,
da einige Kriterien der "typischen" Spammer auf deine Registrierung zu trafen.

Ich habe dein Beitrag freigeschaltet und hole hiermit auch nochmal den Beitrag hoch,
damit andere ihn lesen.

In Zukunft müssen deine Beiträge nicht mehr freigeschaltet werden.

Gruß Opik
 

Marc88

Neues Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Vielen Dank. Ich hatte mich schon gewundert :D...das Board weiß mehr über mich, als ich selbst^^

Gruß
Marc
 

MegaDeath

Bekanntes Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Um das Backup auf Konsistenz zu prüfen baust du den Parameter -T einfach in die Commandline mit ein.

Also bei set param=-L1490 -S100000 -R -W einfach -T anhängen.

----
...
set param=-L1490 -S100000 -R -W -T
...
...
pause
----

und zum überprüfen der Batch einfach noch ein Pause anhängen.


also das brauchst du nicht :)

REM --- Prüfe erstellte Images ---
REM
snapshot.exe %img1% -T >>%path%\backup.log
REM
 

Marc88

Neues Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Vielen Dank für die Anworten. Es hat funktioniert. Jedoch stehe ich nun vor einem andern Problem. Durch den Parameter -L1490 sage ich ihm ja, dass die Datein nicht größer wie 1,490 GB sein dürfen. Dieses funktioniert auch, jedoch nennt er die *.SNA Datei "120509_Partition_ful_Computername.SNA-L1490"

Dh. ich muss jede *.SNA Datei umbenennen, damit Snapshot sie später wieder erkennt. Wie kann ich das ändern?

Gruß
Marc
 

Bestatter

Schwarzfahrer
AW: Drive Snapshot Kommandozeilen und Batch Skript

Dann steht -L1490 wohl an der Stelle in Deinem Befehl, wo der Dateiname definiert wird (Leerzeichen fehlt?).
Pack bitte mal die gesamte Befehlszeile in einen Code-Tag.
 

Marc88

Neues Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Steht schon oben mein Code, aber hier nochmal =)
Code:
REM image.bat
@echo off
REM
REM -- DATUM --
REM
set jahr=%date:~-2%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
REM
REM -- Zielpfad für die zu erstellenden Images:
REM
set path=\\Server\Ordner\XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
REM
REM -- Dateiname der Image-Files
REM
set img1=%path%\$date_$disk_$type_$computername.SNA
set param=-L1490 -S100000 -R -W -T >>%path%\backup.log
REM
REM -- Befehlszeile für Drivesnapshot Full-Backup
REM
REM set snapid=%path%\$date_$disk_$type_$computername.SNA -L1490 -S100000 -R -W
REM
REM
REM -- Erstellung Prüfroutine backup.log
REM
echo. >>%path%\backup.log 
echo %jahr%%monat%%tag% >>%path%\backup.log
echo. >>%path%\backup.log
echo ----- Backup vom %date% um %time% ----- >>%path%\backup.log
echo. >>%path%\backup.log
REM
REM --- Full Backup Laufwerk X ---
REM
c:\windows\system32\snapshot.exe HD1:* %img1%%param% >>%path%\backup.log
REM
REM --- Prüfe erstellte Images ---
REM
REM snapshot.exe %img1% -T >>%path%\backup.log
REM
echo.Fertig >>%path%\backup.log
;
 

Bestatter

Schwarzfahrer
AW: Drive Snapshot Kommandozeilen und Batch Skript

Ich meinte nur die eigentliche Befehlszeile ohne Variablen ... :icon_tsts:
Dann wäre es auch übersichtlicher!

Mach mal
Code:
c:\windows\system32\snapshot.exe HD1:* %img1% %param%
also mit Leerzeichen.
 

Hausmeister

Bekanntes Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Ich möchte meine USB-Sticks auch per Drive Snapshot sichern.

ich habe hier etwas zusammen gezimmert. Es ist alles nur geklaut, weil ich wirklich nicht die Ahnung vom programmieren habe.

Ich habe mir das so vorgestellt, das Script soll automatisch erkennen um welchen Sich es sich handelt und dann ein komplettes Backup zu machen.

Code:
@echo off
setlocal enabledelayedexpansion
:: für jede zeile im befehl (wmic...), wobei die erste Zeile übersprungen wird (skip=1) und jede zeile in 3
:: variablen zerlegt wird (tokens=1,2,*), wobei die 3. variable den rest der Zeile enthält führe folgende befehle aus...
:: delims=: --> Trennzeichen=:
:: Kurzerklärung zum Befehl wmic:
:: Der Befehl liest alle Laufwerke, die den Parametern "DriveType=3 ODER DriveType=2" (HDDs/USB-Sticks) entsprechen aus,
:: filtert nur Laufwerksbuchstaben (name) und die Laufwerksbezeichnung (volumename) heraus und gibt diese als Liste aus.
for /F "skip=1 tokens=1,2,* delims=:" %%a in ('wmic logicaldisk where "DriveType=2 OR DriveType=3" get name^, volumename') do (
	:: Setze "Drive" auf %%a
	set Drive=%%a
	:: Setze "Label" auf %%b %%c
	set Label=%%b %%c
	:: Entferne alle Leerzeichen aus "Label"
	set Label=!Label: =!
	:: Rufe die Sprungmarke auf.
	call :!Label!
)
:SYSTEM
set Drive=F
:: Demo zum abfragen des Laufwerksbuchstabens wenn nur die Laufwerksbezeichnung vorhanden ist.
call :GETDRIVELETTER %Label%
echo Systemdrive - %Drive%
rem ----- prueft das OS ------------------------------------------------

rem ----- Erstellt falls notwendig ein Verzeichnis --------------------
if not exist %Label%-%Num%-Backup md %Label%-%Num%-Backup

rem ----- Verzeichnis in Variable - ver -------------------------------
FOR %%a in (%Label%-%Num%-Backup\) do SET ver=%%a

rem ----- Pruefe ob *.hsh vorhanden -----------------------------------
FOR %%a in (%Label%-%Num%-Backup\*.hsh) do SET snhsh=%%a

echo.
rem echo Partition = %SystemDrive% / ID = %Num% / OS= %Drive% / Benutzer = %Label%
echo.
if not exist "%snhsh%" goto NB

echo Backup gefunden "%snhsh%"
echo.
echo ------------------------------------------------------------------
snapshot.exe "%SystemDrive%" "%ver%\HD-%SystemDrive:~0,1%-%Label%--$day-$month-$year--$type.sna" -W -R -Go -L8000 -h"%snhsh%" --LogFile:%ver%bericht.txt
goto end

:NB
echo Es wurde kein Hashfile (.HSH) gefunden !
echo Erstelle ein vollstaendiges Backup von Festplatte "%Drive%"
echo.
echo ------------------------------------------------------------------
snapshot.exe "%SystemDrive%" "%ver%\HD-%SystemDrive:~0,1%-%Label%--VBackup-$day-$month-$year.sna" -W -R -Go -L8000 --LogFile:%ver%bericht.txt

:end

REM  Zum deaktivieren des Shutdown einfach REM davor schreiben :)
REM Shutdown -s -f -t 8


Bitte schaut euch den Code mal an. So wie er jetzt ist funktioniert das noch nicht. Vielleicht kann mir bitte jemand den Code schreiben.
 

MegaDeath

Bekanntes Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Habe es mir auch nur geklaut, warum das Rad neu erfinden :)
Der unterschied ist bei mir funktionierts (hoffentlich) :D
http://www.supernature-forum.de/all...ch-usb-stick-mit-seinem-namen-erkennen-2.html

Naja so eine abfrage ist nicht leicht zu erstellen.

:USB-Stick1 und
:USB-Stick2
Müssen durch die Namen der zu Sichernden USB Laufwerke ersetzt oder ergänzt werden.
Also nur wenn sich der Name des USB-Stick in der Liste befindet wird auch eine Sicherung erstellt.

Code:
@echo off
setlocal enabledelayedexpansion
for /F "skip=1 tokens=1,2,* delims=:" %%a in ('wmic logicaldisk where "DriveType=2 OR DriveType=3" get name^, volumename') do (
	:: Setze "Drive" auf %%a
	set Drive=%%a
	:: Setze "Label" auf %%b %%c
	set Label=%%b %%c
	:: Entferne alle Leerzeichen aus "Label"
	set Label=!Label: =!
	:: Rufe die Sprungmarke auf.
	call :!Label!
)
exit /b

:USB-Stick1
echo.
echo USB-Laufwerk = %Drive% / Laufwerksbezeichnung = %Label% 
echo.

:USB-Stick2
echo.
echo USB-Laufwerk = %Drive% / Laufwerksbezeichnung = %Label% 
echo.

rem ----- Erstellt falls notwendig ein Verzeichnis --------------------
if not exist USB-%Drive%-%Label%-Backup md USB-%Drive%-%Label%-Backup

rem ----- Verzeichnis in Variable - ver -------------------------------
FOR %%a in (USB-%Drive%-%Label%-Backup) do SET ver=%%a

rem ----- Pruefe ob *.hsh vorhanden -----------------------------------
FOR %%a in (USB-%Drive%-%Label%-Backup\*.hsh) do SET snhsh=%%a

if not exist "%snhsh%" goto NB

echo Backup gefunden "%snhsh%"
echo.
echo ------------------------------------------------------------------
snapshot.exe %Drive%: "%ver%\USB-%Label%--$day-$month-$year--$type.sna" -W -R -Go -L8000 -h"%snhsh%" --LogFile:%ver%LOGFILE.TXT
goto end

:NB
echo Es wurde kein Hashfile (.HSH) gefunden !
echo Erstelle ein vollstaendiges Backup von USB-Laufwerk = %Drive%
echo.
echo ------------------------------------------------------------------
snapshot.exe %Drive%: "%ver%\USB-%Label%--VBackup-$day-$month-$year.sna" -W -R -Go -L8000 --LogFile:%ver%LOGFILE.TXT

:end
rem pause
exit
 

EchtAtze

Bekannter Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

So, der Drops ist gelutscht! :icon_mrgreen:
Es lag wohl daran, dass ich auch die 100MB Partition als "Primär" statt als "System" angelegt hatte.
Ich muss da gerade ma nachfragen:
Hast du mittlerweile einen Weg finden können, die kleine 100MB Partition als Typ "System" anzulegen?
Irgendwie finde ich da nichts zu im Web.
Weiß evtl. jemand anders wie man eine Partition als "System" kennzeichnen oder direkt erstellen kann?

Auch wenn es hier dezent offtopic ist, hier mal die Anleitung, falls noch mal jemand über die gleiche Stelle stolpert:
- Win7-DVD booten, HD partitionieren, beim Dateien-Kopieren dann raus mit Reset
- Snapshot-Medium booten, HD1:1 (System) + C: (Primär) einspielen
- ggf., wie von Snapshot vorgeschlagen, mit "snapshot --Checkboot HD1" Platte bootbar machen (siehe hier)
- Win7-DVD booten, Systemreparatur durchführen lassen
Das hast du alles als Umweg genutzt 'nur' um die 100MB-Partition als System-Partition zu haben?
Oder was ist der Sinn dieses Vorganges?
 

Bestatter

Schwarzfahrer
AW: Drive Snapshot Kommandozeilen und Batch Skript

Hast du mittlerweile einen Weg finden können, die kleine 100MB Partition als Typ "System" anzulegen?
Nein.
Ich habe in den letzten ~15 Monaten ca. 50 PCs mit Windows 7 Pro nach dem beschriebenen Verfahren geklont.

Das von Dir im zweiten Kasten zitierte Verfahren hat dabei immer funktioniert und war vertretbar schnell.
Ich hatte keine Lust da weiter zu optimieren.
Auch größere Wechsel quer durch die Systemarchitekturen waren damit kein Problem.

Die automatische Reparatur mit der Win7 DVD war mir dann aber zu zeitintensiv, da ich manchmal mehrfach booten musste.
Seitdem nutze ich die Reparaturkonsole mit
Code:
bootrec /fixboot
bootrec /fixmbr
bootrec /rebuildbcd (+ entsprechende Auswahl)
 

EchtAtze

Bekannter Mitglied
AW: Drive Snapshot Kommandozeilen und Batch Skript

Danke dir. Bootrec muss ich mir mal anschauen.
Ich kam deshalb darauf, weil ich gestern über diesen Thread gestolptert bin und vor ein paar Wochen selber das Problem hatte diese kleine zusammen mit der 'normalen' Partition auf eine neue Platte übertragen zu wollen.
Letztendlich ist es darin geendet, dass ich nun nur noch eine Partition auf der neuen Platte dieses Rechners habe und mir Reparaturmechanismen das Boot-Zeugs in diese bestehende zu bootende Partition 'hineinerstellt' haben.
Das war vielleicht ein Krampf.

Ich werde mal den Autor von DriveSnapshot anschreiben, wie er empfiehlt eine solche typische Umgebung (mit der 100MB Partition) wiederherzustellen...
 

Bestatter

Schwarzfahrer
Bei mir ist in Drive Snapshot die 100MB-Partition mit HD1:1 bezeichnet.
Will ich eine Festplatte mit dieser Partition und den Partitionen C: und D: sichern, klappt das so:
Code:
\\pfad\SNAPSHOT HD1:1+C:+D: \\pfad\$computername_LW-$disk_$date.sna -R -W -T -G -L4475

Bei der Wiederherstellung muss wohl jeder Partition mit einem einzelnen Befehl wiederhergestellt werden.
Das habe ich bislang immer über das GUI von Drive Snapshot gemacht.
Ob auch ein Batch wie
Code:
\\pfad\SNAPSHOT \\pfad\Name_LW-HD1-1_YYMMDD.sna HD1:1
\\pfad\SNAPSHOT \\pfad\Name_LW-C_YYMMDD.sna C:
\\pfad\SNAPSHOT \\pfad\Name_LW-D_YYMMDD.sna D:
funktioniert, wäre auszuprobieren.
 

leachimus

...sonst nix!
Hallo, mein Anliegen ist folgendes:
Als Basis möchte ich das Script von Tamoil nutzen. Ich habe allerdings nicht wirklich Ahnung von Batch.

Das Script soll nichts weiter tun als in einem Order X:Backup immer einen weiteren Ordner mit dem jeweiligen Datum erzeugen indem dann die Backups abgelegt werden. Desweiteren soll das Script prüfen, ob die alten Ordner älter als 5 Tage sind und diese dann ggf. löschen.

Wer kann mir hier behilflich sein? Danke vorab.

Viele Grüße
leachimus
 

Kipish

Bekanntes Mitglied
Hallo, ich brauche Hilfe zum Script aus #122, auch wenn es schon älter ist, kann jemand helfen?
Ich verwende das Script für meine Eltern (Rentner) damit die ab und zu eine Sicherung machen können.

Folgende Probleme plagen mich:

-in der Batch wird mit dem Schalter -T eine Prüfung der Images aufgerufen, aber komischerweise wird die Prüfung doppelt gemacht, Image wird erstellt, geprüft, nächste Partition ... und zum Schluss prüft er nochmal, kann die Zeile mit dem -T Schalter raus, weil sowieso geprüft wird?

-die haben jetzt Win10, da gibt es scheinbar noch 2 Systempartitionen, wie kann ich die miteinbinden zum sichern?

-zum Anfang, und nach jedem Wechsel der zu sichernden Partition verlangt W10 die Eingabe des AdminPW, wie kann ich das verhindern, die Sicherung soll möglichst ohne Benutzereingabe (PW) durchlaufen

-das Script zerstückelt das Image in mehrere Dateien (in meinem Fall) 14 Stück, warum oder was das für Vorteile bringen soll, keine Ahnung, aber ich will nur eine Datei

Ich sehe in der Batch nicht durch, kann jemand helfen?
 

jr33

.......
Ich bin kein Freund von Empfehlungen anderer Programme wenn explizit
nach genau dem gewünschten gesucht wird.

Doch als kleinen Nachdenkanstoß:
seit Macrium-Reflect eine deutsche Oberfläche hat konnte ich all
meine supporteten Kisten bzw. deren Nutzer im Familien- und Freundeskreis davon überzeugen.

Snapshot ist durch seine Größe und Anpassungsfähigkeit bestechend,
ebenso durch den "Support" hier im T&F,
doch nicht für User, die sich "etwas schwer tun".
 

Kipish

Bekanntes Mitglied
Hallo Boardies,

kann mir mal bitte jemand helfen. Ich habe jetzt das Script angepasst.

REM image.bat
@echo off
REM
REM -- DATUM --
REM
set jahr=%date:~-2%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
REM
REM -- Laufwerksbuchstaben der zu sichernden Partitionen --
REM
set vol1=C
set vol2=D
set vol3=HD1:1
set vol4=HD1:3
REM
REM -- Zielpfad f³r die zu erstellenden Images:
REM
set path=E:\Backup
REM
REM -- Dateiname der Image-Files
REM
set img1=%jahr%%monat%%tag%_%vol1%_ful_%computername%.SNA
set img2=%jahr%%monat%%tag%_%vol2%_ful_%computername%.SNA
set img3=%jahr%%monat%%tag%_%vol3%_ful_%computername%.SNA
set img4=%jahr%%monat%%tag%_%vol4%_ful_%computername%.SNA
REM
REM -- Befehlszeile f³r Drivesnapshot Full-Backup
REM
set snapid=%path%\$date_$disk_$type_$computername.SNA -L0 -S100000 -R -W -Gx
REM
set drive1=%vol1%: %snapid%
set drive2=%vol2%: %snapid%
set drive3=%vol3%: %snapid%
set drive4=%vol4%: %snapid%
REM
REM -- Erstellung Pr³froutine backup.log
REM
echo. >>%path%\backup.log
echo %jahr%%monat%%tag% >>%path%\backup.log
echo. >>%path%\backup.log
echo ----- Backup vom %date% um %time% ----- >>%path%\backup.log
echo. >>%path%\backup.log
REM
REM --- Full Backup Laufwerk X ---
REM
snapshot.exe %drive1% >>%path%\backup.log
snapshot.exe %drive2% >>%path%\backup.log
snapshot.exe %drive3% >>%path%\backup.log
snapshot.exe %drive4% >>%path%\backup.log
REM
REM --- Pr³fe erstellte Images ---
REM
snapshot.exe %path%\%img1% -T >>%path%\backup.log
snapshot.exe %path%\%img2% -T >>%path%\backup.log
snapshot.exe %path%\%img3% -T >>%path%\backup.log
snapshot.exe %path%\%img4% -T >>%path%\backup.log
REM
echo.Fertig >>%path%\backup.log
start notepad.exe %path%\backup.log
;

upload_2016-1-25_18-50-16.png


Folgende Probleme quälen mich:

-HD1:1 und HD1:3 werden nicht gesichert (Fehler line 751?)
-Es wird alles doppelt getestet, keine Ahnung warum
-die Protokolldatei ist wenig aussagekräftig und wird auch erstellt, wenn was schief gelaufen ist

Ich will einfach nur die 4 Partitionen per Mausklick auf eine externe HDD sichern, aber bekomme das nicht hin.
Jemand Lust zu helfen?
 

Bestatter

Schwarzfahrer
Ich will einfach nur die 4 Partitionen per Mausklick auf eine externe HDD sichern, ...
Ohne mich jetzt in ein unbekanntes Skript rein zu denken:
HD1:* erfasst z.B. alle Partitionen der ersten Festplatte.
Wenn eh jede Partition gleich behandelt wird, geht das auch in einer Zeile.

-- edit --
Deine großen Partitionen scheitern.
Du schreibst, wenn ich das richtig überblicke, mit -L0 in eine einzige sna-Datei.
Das scheint auf Deinem Zielmedium nicht zu klappen.
Füg mal eine Segmentierung ein, wie "-L4475" (DVD-Größe). Dann sollte es klappen.
 
Zuletzt bearbeitet:

Kipish

Bekanntes Mitglied
@Bestatter

Das mit dem -L0 ist Absicht, ich will nur eine Datei haben, die externe HDD ist auch groß genug, die 2 Partitionen klappen ja, nur die 2 blöden Systempartitionen die keinen LW-Buchstaben habe gehen nicht
 

EchtAtze

Bekannter Mitglied
Sichere die beiden großen doch mal von Hand mit DriveSnapshot um zu sehen, ob es wirklich am Batch liegt.
 

schwaller

Bekanntes Mitglied
script script sein lassen und einmal die zeile von hand zusammenstellen und gucken ob gesichert werden kann.
ich tippe mal so, das es ärger mit den doppelpunkten beim zusammensetzen gibt.
 

Bestatter

Schwarzfahrer
Hast Du denn schon mein oben vorgeschlagenes HD1:* probiert?
Damit werden ALLE Partitionen der HD1 nacheinander mit den gleichen Einstellungen gesichert.

-- edit --
Welche Fehlermeldungen kommen denn bei diesem Einzeiler:
Code:
snapshot.exe HD1:* E:\Backup\$date_$disk_full_$computername.sna -R -W -Gx -T -L0 >>E:\Backup\backup.log
 
Zuletzt bearbeitet:

Bestatter

Schwarzfahrer
AW: Drive Snapshot Kommandozeilen und Batch Skript

Ist tatsächlich so, wie du beschreibst.
Das liegt am verwendeten DIR-Befehl.
Hier die notwendige Anpassung:
Code:
@ECHO OFF
SET "BACKUP_FOLDER=H:\Backup_Incremental\"
@SET "HASHFILE_PATTERN=RECHNER1_LW-C_*.hsh"
@FOR /f "delims=" %%i IN ('DIR /b /on %BACKUP_FOLDER%%HASHFILE_PATTERN%') DO SET "HASHFILE=%BACKUP_FOLDER%%%~ni"
@ECHO Calling incremental backup now.
@ECHO Use Hashfile: %HASHFILE%.hsh
@ECHO.
@ECHO.
C:\Programme\Tools\Backup\DriveSnapshot\snapshot.exe C: %HASHFILE%_$type_$date.sna -W -h%HASHFILE%.hsh

Keine Hast, bin auch auf Arbeit und das geht heute wieder bis in die Nacht. :(
Boomt die Bestattungs-Branche derzeit so?
Oder wird das Nachts illegal exhuminiert? ;)
Schön, dass @EchtAtze schon am 17 Juni 2009 das heutige Exhumieren seines Postings thematisch vorbereitet hat! :icon_mrgreen:
Als Board-Bestatter steht mir das fachlich ja auch zu! :D

Vor 13 Jahren war meine Benennung der SNA-Dateien noch
Computername_Laufwerk_YYMMDD.sna was ich wegen der besseren Sortierungsmöglichkeiten im Ordner inzwischen in
Computername_YYMMDD_Laufwerk.sna geändert habe.

Darum läuft das Skript oben, welches die aktuellste Version eines Images im Ordner findet, natürlich nicht mehr.
Bei FOR /f "delims=" %%i IN weiß ich sicher, hier verlassen wir den Bereich meines gefühlten Wissens. :icon_funny:
Aus dem "RECHNER1_LW-C_*.hsh" im Skriptbeispiel oben ist also "RECHNER1_*_LW-C.hsh" bzw. "RECHNER1_??????_LW-C.hsh" geworden.

:icon_confused: Wie muss das Skript lauten, wenn das Datum nicht mehr am Ende des Dateinamens steht?
 

EchtAtze

Bekannter Mitglied
Einem ersten Test nach reicht es, wenn du eine Zeile zu
@SET "HASHFILE_PATTERN=RECHNER1_*_LW-C.hsh"
änderst...

Mein Test mit einem Ordner mit folgenden Dateien

RECHNER1_220112_LW-C.hsh
RECHNER1_220113_LW-C.hsh
RECHNER1_220114_LW-C.hsh

und diesem Batch

Code:
@ECHO OFF
SET "BACKUP_FOLDER=c:\Folder\"
@SET "HASHFILE_PATTERN=RECHNER1_*_LW-C.hsh"
@FOR /f "delims=" %%i IN ('DIR /b /on %BACKUP_FOLDER%%HASHFILE_PATTERN%') DO SET "HASHFILE=%BACKUP_FOLDER%%%~ni"
@ECHO Use Hashfile: %HASHFILE%.hsh

gab

RECHNER1_220114_LW-C.hsh

aus.

Oder stehe ich auf dem Schlauch und verstehe dein Problem nicht?
 
Zuletzt bearbeitet:
Oben Unten