Externe HDD per Batch entfernen und neu anhängen

LynxRK

Ensign
Registriert
Dez. 2010
Beiträge
194
Hallo Community,

nachdem ich jetzt schon eine weile gegoogelt habe und nichts brauchbares gefunden habe, wende ich mich nun an euch.
(Hoffe ich bin im richtigen Bereich)

Ich möchte eine Festplatte, die via USB an den Rechner angesteckt wird, entfernen und neu mounten.

Sinn der Übung ist, zwei Festplatten immer im Wechsel an den Rechner zu Stecken und ein Backup per Robocopy darauf zu spielen.
Dafür möchte ich natürlich immer den gleichen Laufwerksbuchstaben haben, welcher nicht immer zu 100% von Windows richtig vergeben wird.

Das ganze soll auch ohne Drittanbietertools laufen.

Bisher habe ich es so versucht, wobei ich leider auf die Meldung "Gerät nicht Bereit" stoße.
Code:
REM @echo off

REM Unmounten von dem USB-Gerät
mountvol \\?\Volume{cdb61318-6823-11e9-bb72-80c16ee71489}\ /P
mountvol \\?\Volume{cdb61318-6823-11e9-bb72-80c16ee71489}\ /D
pause

REM Mounten von dem USB-Gerät mit gewünschtem Laufwerksbuchstaben
mountvol Z:\ \\?\Volume{cdb61318-6823-11e9-bb72-80c16ee71489}\
pause

REM Löschen der alten Daten
rd Z:\01Ziel\
pause

REM Kopieren der neuen Daten
robocopy "D:\01Quelle" "Z:\01Ziel\Backup" *.log /E /COPYALL /LOG:C:\temp\ROBOCOPY.log
pause

exit

Kann mir jemand helfen?

Vielen Dank im Voraus.

Mfg

LynxRK
 
Danke für die Antworten.

Ich habe es jetzt mit einer zweiten Batch gelöst.

Backup.bat
Code:
@echo off

echo Unmounten von dem USB-Geraet
cd C:\temp\
call "USB_unmount.bat"

echo Mounten von dem USB-Geraet mit gewuenschtem Laufwerksbuchstaben
mountvol Z:\ \\?\Volume{01dab9d6-ac5b-4870-afa6-59a174f59a0c}\
mountvol Z:\ \\?\Volume{79583e69-2c88-436e-8774-26d38a35c871}\
timeout 10

echo Loeschen der alten Daten
rd Z:\Backup\ /S /Q

echo Kopieren der neuen Daten
robocopy "D:\01Quelle" "Z:\Backup" *.log /E /COPYALL /LOG:"Z:\Log\ROBOCOPY.log"

echo Unmounten von dem USB-Geraet
cd C:\temp\
call "USB_unmount.bat"

exit

USB_unmount.bat
Code:
@echo off
set DPS=%~dpn0.DPS   &:: Dateiname für Script wie Batch aber mit der Endung DPS
(echo list volume
echo select volume 4
echo remove all dismount
echo exit
) >"%DPS%"
Diskpart /S "%DPS%" >"%~dpn0.Log"
If Not Errorlevel 1 exit /B
set DiskPartErr0="Es sind keine Fehler aufgetreten. Das gesamte Skript wurde ohne Fehler ausgeführt."
set DiskPartErr1="Es ist eine schwer wiegende Ausnahme aufgetreten. Möglicherweise liegt ein ernstes Problem vor."
set DiskPartErr2="Die für DiskPart angegebenen Parameter waren falsch."
set DiskPartErr3="DiskPart konnte die angegebene Skript- oder Ausgabedatei nicht öffnen."
set DiskPartErr4="Einer der von DiskPart verwendeten Dienste hat einen Fehler zurückgegeben."
set DiskPartErr5"=Es liegt ein Befehlssyntaxfehler vor. Das Skript ist fehlgeschlagen, da ein Objekt nicht ordnungsgemäß ausgewählt wurde oder nicht mit diesem Befehl verwendet werden kann."
call echo Folgender Fehler ist Aufgetreten: %ERRORLEVEL% : %%DiskPartErr

Damit klappt es so wie ich es mir vorgestellt habe.

Mfg

LynxRK
 
Zurück
Oben