Hallo zusammen,
ich habe da mal wieder ein 'Problem' und hoffe jemand kann mir ggf. den ein oder anderen Tip geben.
Also was mache ich:
ich ermittle via Autoit den aktuellen Laufwerksbuchstaben der angehängten (USB Port) Festplatte, indem ich auf ein file prüfe.
Das funktioniert soweit erst einmal.
Dann muss/will ich diese Information an einen (DOS)Batch übergeben, der im Adminkontext gestartet werden muss.
(dieses zugegebenermassen einfache batchfile kommt von DATEV und soll nicht 'angefasst werden' - daher die Sache mit dem Batch)
D.h. ich starte das Ganze mit RunAsWait und muss dabei den aktuellen LW-Buchstaben übergeben - was mir nicht gelingt.
Hat jemand einen Tipp für mich ?
Spoiler anzeigen
Check for connected external HDD
$arcdeDrive = DriveGetDrive("ALL")
For $i = 1 To $arcdeDrive[0]
$strDriveType = DriveGetType($arcdeDrive[$i])
If $strDriveType = "CDROM" Or $strDriveType = "NETWORK" Then ContinueLoop
$cdeDrive = $arcdeDrive[$i]
$cdeFile = $cdeDrive & "\Witch.id"
If FileExists($cdeFile) Then ExitLoop
$cdeDrive = ""
$cdeFile = ""
Next
Local $sUserName = "XYZ"
Local $sPassword = "123456789"
;Start backup routine
$cdeDrive = $cdeDrive & "\"
If $cdeFile <> "" Then
TrayTip("Backup läuft", "Sicherung auf ext. Datenträger",10,1)
MsgBox(64,"Datensicherung", "Start der Sicherung - Bitte warten ...",2)
RunAsWait($sUserName, @Computername, $sPassword, 0, "c:\xyz\sicherung.bat" & $cdeDrive, @WorkingDir) <--- hier muss das LW übergeben werden
TrayTip("clears any tray tip","",0)
SplashTextOn("Datensicherung", "Die Daten wurden erfolgreich gesichert...", 350, 70, -1, -1, 32, "", 10)
$cdeStatus = "OK"
SplashOff()
Else
MsgBox(16,"Datensicherung", " Der ext. Datenträger konnte nicht gefunden werden." _
& @CRLF & @CRLF & "Bitte das LW anschliessen + die Datensicherung erneut starten !!!")
$cdeStatus = "NIOK"
hier batch, wobei der Laufwerksbuchstabe z: durch den mit Autoit ermittelten Buchstaben ersetzt werden muss.
@ECHO OFF
ECHO "Datensicherung Laptop"
ECHO."-------------------------------"
net stop MSSQL$DATEV_CL_DE01
robocopy C:\datev\daten z:\Datev_Datensicherung /MIR /R:2 /W:2 /LOG:BkpRobo.log /NS /NC /TEE /FFT
robocopy C:\xyz\ z:\ /MIR /R:2 /W:2 /LOG+:BkpRobo.log /NS /NC /TEE
ECHO."-----------------------------------------------------"
ECHO "Ein ausführliches LOG ist zu finden unter uhnBkpRobo.log"
net start MSSQL$DATEV_CL_DE01
Exit
schon eimal ein weihnachtliches Danke an alle
Gruss
ugt100