如何编写将文件下载到启动文件夹的VBS文件

时间:2019-04-20 06:19:01

标签: vbscript

如何编写将文件下载到启动文件夹的vbs文件,这是我的代码,但是我收到“错误:找不到目标文件夹”。

Sub HTTPDownload( myURL, myPath )
    Dim i, objFile, objFSO, objHTTP, strFile, strMsg
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Set objFSO = CreateObject( "Scripting.FileSystemObject" )
    If objFSO.FolderExists( myPath ) Then
        strFile = objFSO.BuildPath( myPath, Mid( myURL, InStrRev( myURL, "/" ) + 1 ) )
    ElseIf objFSO.FolderExists( Left( myPath, InStrRev( myPath, "\" ) - 1 ) ) Then
        strFile = myPath
    Else
        WScript.Echo "ERROR: Target folder not found."
        Exit Sub
    End If
    Set objFile = objFSO.OpenTextFile( strFile, ForWriting, True )
    Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )
    objHTTP.Open "GET", myURL, False
    objHTTP.Send
    For i = 1 To LenB( objHTTP.ResponseBody )
        objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) )
    Next
    objFile.Close( )
End Sub

      HTTPDownload "https://example.com/start.txt", "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\start.txt"

1 个答案:

答案 0 :(得分:0)

"%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\start.txt"无效。

您有两个选择。

1。使用相对路径。

例如在您的主目录并使用".\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\start.txt"

2。使用绝对路径。

在使用路径之前,手动将完整的目标路径硬编码到脚本中,或者展开任何环境变量。

Set WshShell = WScript.CreateObject("WScript.Shell")

path = "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\start.txt"
finalPath = WshShell.ExpandEnvironmentStrings(path)