Ich bekomm ein -1 zurück wie in der Doku beschrieben. Voraussetzung die Datei kann nicht geöffnet werden.
Failure: Returns -1 if error occurs. Is doch ein error.
Beiträge von Sebastian
-
-
-
So hat sbei mir geklappt.
[autoit]
Gruß
Sebastian
[/autoit]
$completeFile = FileOpen($sPath & $aFiles[1], 1)
ConsoleWrite($completeFile & @CRLF)
If $completeFile = 1 Then
FileClose($completeFile)
...
EndIf -
Moin That´s my way.
[autoit]
Danke für die Hilfe
Sebastian
[/autoit]
$completeFile = FileOpen($sPath & $aFiles[1], 1)
ConsoleWrite($completeFile & @CRLF)
If $completeFile = 1 Then
FileClose($completeFile)
...
EndIf -
Sorry, war mal eben weg.
Nun aber wieder zu meinem Problem.
Ich denke FileOpen() is der richtige Ansatz. Ihr müsst euch immer vorstellen eure Mutter / Vater muss das ganze bedienen können.
Der User speichert die Präsentation auf einer Verküpfung mehr kann ich dem nicht zumuten.
Funktioniert eigendlich $status = FileMove($sPath & $aFiles[1], $sPath &"RUN\"& $aFiles[1]) ??Gruß
Sebastian -
War auch mein erster Ansatz, hat aber nicht funktioniert.
Ich hab die Dateigröße in einer Schleife ausgelesen, 10 sec. gewartet und dann mit dem nächsten Wert verglichen.
C:\Praesentationen\Praesentation.ppt
45107200
45107200
Programm stoppenC:\Praesentationen\Praesentation.ppt
45107200Es wird ab der ersten sekunde die volle Dateigröße zurückgegeben.
-
Ja moin,
ich habe ein Script geschrieben das ein Verzeichnis überwacht. Wenn dort eine neue Präsentation reinkommt, wird die aktuelle Präsentation (die gerade läuft) gestoppt und die neue Präsentaion in das Verzeichnis RUN verschoben und gestartet.
Nun mein Problem. Das kopieren der neuen Präsentation auf den Rechner dauert bei uns schon mal 5-10 Minuten.
Wie bring ich AutoIt denn bei das er warten soll bis die Datei ganz kopiert wurde. Ich habs mit sleep versucht, ist aber die schlechteste Lösung.
Momentan fängt er dann irgendwann an, kann die Datei nicht verschieben und hängt sich auf.Gruß
SebastianC
Alles anzeigen#include <File.au3> #include <array.au3> HotKeySet("{Esc}", "_CloseIt") ;mit ESC kann Skript verlassen werden Opt("GuiOnEventMode", 1) Global $aFiles, $sPath = "C:\Praesentationen\" ;Global $aApplication = "POWERPNT.EXE" Global $aApplication = "PPTVIEW.EXE" Global $rStart = "Ja" AdlibRegister("_searchFiles", 30000) ;alle 60000 ms _searchFiles aufrufen eventuell anpassen While 1 Sleep(30000) MouseMove(-1000, 1200) MouseMove(-999, 1199) sleep(1000) WEnd Func _searchFiles() AdlibUnRegister("_searchFiles") ;_searchFiles deregistrieren $aFiles = _FileListToArray($sPath, "*", 1) ;alle File im Pfad in ein Array einlesen If IsArray($aFiles) Then ;wenn Array For $i = 1 To $aFiles[0] ;Schleifenbegin für alle Files im Array ConsoleWrite($sPath & $aFiles[$i] & @CRLF);Consoleasgabe des Filenamens (kann auskommentiert werden) $aFileSize = FileGetSize($sPath & $aFiles[$i]) ;ConsoleWrite($aFileSize) Sleep(10000) $bFileSize = FileGetSize($sPath & $aFiles[$i]) Sleep(120000) MouseMove(-1000, 1200) MouseMove(-999, 1199) Sleep(120000) MouseMove(-1000, 1200) MouseMove(-999, 1199) Sleep(120000) MouseMove(-1000, 1200) MouseMove(-999, 1199) If $aFileSize = $bFileSize Then ConsoleWrite("Programm stoppen") sleep(360000) Run(@ComSpec & " /c " & 'c:\WINDOWS\system32\taskkill.exe /F /IM ' & $aApplication, "", @SW_HIDE) FileDelete($sPath & "RUN\*.ppt") ;ConsoleWrite("Programm löschen" & $sPath & "RUN\") FileMove($sPath & $aFiles[1], $sPath &"RUN\"& $aFiles[1]) sleep(10000) ;ConsoleWrite($sPath & $aFiles[1] &"--"& $sPath &"\RUN\"& $aFiles[1]) ShellExecute($sPath &"RUN\"& $aFiles[$i]) ;ConsoleWrite("Programm starten") sleep(6000) EndIf ;FileDelete($sPath & "\" & $aFiles[$i]) ;<============= mit echter Aktion ersetzen Next ;Sleep(1000) ElseIf $rStart = "Ja" Then $rFiles = _FileListToArray($sPath & "RUN\", "*", 1) If IsArray($rFiles) Then ShellExecute($sPath &"RUN\"& $rFiles[1]) $rStart = "Nein" EndIf EndIf AdlibRegister("_searchFiles", 1000) ;_searchFiles wieder registrieren EndFunc ;==>_searchFiles Func _CloseIt() Exit EndFunc