2016-12-14 63 views
1

當我運行下面的代碼,我得到一個錯誤,請幫我正常運行的代碼:)AutoIt腳本「找不到文件」的錯誤

enter image description here

#include <StaticConstants.au3> 
#include <WindowsConstants.au3> 
$sFile = _DownloadFile('https://cdn.pixabay.com/photo/2013/06/25/22/09/rose-141314_960_720.jpg') 
    shellExecute($sFile) 
Func _DownloadFile($sURL) 
Local $hDownload, $sFile 
$sFile = StringRegExpReplace($sURL, "^.*/", "") 
$sDirectory = @TempDir & $sFile 
$hDownload = InetGet($sURL, $sDirectory, 17, 1) 
InetClose($hDownload) 
Return $sDirectory 
EndFunc; == >_GetURLImage 
+0

W7上會發生什麼? – Bookeater

+0

這是臨時目錄:))) –

回答

1

它實際上工作得很好的我的系統,但我可以告訴你哪裏出了問題。您將InetGet的第四個參數作爲1($ INET_DOWNLOADBACKGROUND)傳遞,這意味着下載將在後臺執行,並且腳本將繼續執行。你的函數中的下一個命令是關閉InetGet返回的句柄,但是AutoIt文檔清楚地說明了當你對下載進行完成時會發生什麼 - 下載將被取消。

因此,只需將發送給InetGet函數的最後一個參數更改爲0,它就可以工作。或者你可以使用InetGetInfo檢查下載是否完成。

+0

謝謝,:)))我測試過,它可以在Windows 8和10,但不是在我的Windows 7:D –