Hallo Leute,
Ich krieg das einfach nicht auf die Pfanne, in diesen Script einzubauen, dass wenn die Festplatte z.b. 1 stunden abgeschlossen (inaktiv) ist, dass ein anderes script gestartet wird und dann danach das Script bei Abgeschlossen() weitermacht.
Also ein anderes Script soll gestartet werden (welches eine Email an eine bestimmte Emailadresse sendet) wenn die Festplatte mehr als 1 stunde "NOTREADY" ist. =)
könnt ihr mir helfen?
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)
Angeschlossen()
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