Wie mach ich dass das Script an zeile 71 wartet solange bis DriveStatus("E:")="READY" ist?
hier das script:
Spoiler anzeigen
;Dieses Script prüft ob die USB Festplatte angeschlossen ist oder nicht.
;wenn die Festplatte nicht mehr angeschlossen ist wird das Script per LAN USB Utility die Festplatte wieder verbinden und danach Freigeben.
;In der DriveConLog.txt logdatei wird alles geloggt.
Opt("TrayAutoPause", 0)
Global $AllDrives
Global $Drive
Global $DriveActive=0
Global $_LogText
Global $_LogFile
While 1
$AllDrives=DriveGetDrive("REMOVABLE")
If IsArray($AllDrives)=1 Then
$Drive=$AllDrives[1]
_Log("Programm wurde gestartet.")
Angeschlossen()
EndIf
Sleep(1000)
WEnd
Func Angeschlossen()
Sleep(10000)
While DriveStatus("F:")="READY" Or DriveStatus("E:")="READY"
If $DriveActive=0 Then
_Log("Festplatte ist aktiv.")
$DriveActive=1
EndIf
Sleep(10000)
WEnd
$DriveActive=0
_Log("Festplatte ist inaktiv.")
Abgeschlossen()
EndFunc
Func Abgeschlossen()
Sleep(200)
WinGetHandle("LAN USB Utility")
If @error Then
_Log("LAN USB Utility.exe wird neu gestartet, weil das Programm abgestuerzt ist.")
ProcessClose("LAN USB Utility.exe")
Sleep(1000)
Run("C:\Programme\Sharkoon\LAN USB Utility\LAN USB Utility.exe")
EndIf
ControlClick("LAN USB Utility", "", "[CLASSNN:Button1]")
Sleep(1000)
ControlClick("LAN USB Utility", "", 1002, "left", 1, 52, 28)
Sleep(100)
ControlClick("LAN USB Utility", "", "[CLASSNN:Button2]")
Sleep(60000)
_Log("Festplatte wird verbunden...")
Freigeben()
EndFunc
Func Freigeben()
If DriveStatus("F:")="READY" Then
_Log("Festplatte F: wird als Name:Backup freigegeben...")
_RunDos("net share Backup=F:")
_Log("Festplatte ist Freigegeben.")
ElseIf DriveStatus("E:")="READY" Then
_RunDOS("net share Backup=E:")
_Log("Festplatte E: wird als Name:Backup freigegeben...")
_Log("Festplatte ist Freigegeben.")
EndIf
Sleep(1000)
If DriveStatus("E:")="READY" Then
Angeschlossen()
ElseIf
Run("Email.exe", @Scriptdir)
EndIf
EndFunc
Func _RunDOS($sCommand)
Local $nResult = RunWait(@ComSpec & " /C " & $sCommand, "", @SW_HIDE)
Return SetError(@error, @extended, $nResult)
EndFunc
Func _Log($_LogText)
$_LogFile=FileOpen(@DesktopDir&"\DriveConLog.log", 1)
FileWrite(@DesktopDir&"\DriveConLog.log",@CRLF&@MDAY&"."&@MON&"."&@YEAR&" - "&@HOUR&":"&@MIN&":"&@SEC&" "&$_LogText)
FileClose($_LogFile)
EndFunc
danke für die hilfe