所以我试图设置一个脚本来执行从URL下载的文件。
目前,我有这个代码,它只会启动默认浏览器,然后访问输入框中输入的URL(然后导致下载开始)。
$inputBox = GUICtrlRead($downloadsURL)
ShellExecute($inputBox)
该文件当前正在下载到当前登录的用户"下载"目录(Windows Box)。
什么是强大的"执行下载文件的解决方案?
文件名经常更改...是否有办法重命名下载的文件?
或者确保我有一个"清洁"首先下载目录,然后让autoit在运行脚本后自动执行目录中的任何文件吗?
答案 0 :(得分:1)
所以看起来可能就是这样:
Global $gszDir = @DocumentsCommonDir
Global $gszFileName = "mydownloadfile.exe"
Global $gszURL = "URL To File To Download"
_DownloadAndRemoveOriginal($gszURL, $gszDir, $gszFileName)
If @error Then
MsgBox(16 + 262144, "Error", "Error downloading: " & @error)
Exit 1
EndIf
Func _DownloadAndRemoveOriginal($szURL, $szDirectory, $szFileName)
; remove old downloaded file
Local $szFullPath = $szDirectory & "\" & $szFileName
If FileExists($szFullPath) Then
FileDelete($szFullPath)
EndIf
; download and wait for download to complete
Local $iGet = InetGet($szURL, $szFullPath, 1, 0)
If Not $iGet Then
; failed
Return SetError(1, 0, 0)
EndIf
Local $iRet = ShellExecute($szFullPath)
Return SetError(0, 0, $iRet)
EndFunc