Как записать файл VBS, который загружает файл в папку автозагрузки - PullRequest
0 голосов
/ 20 апреля 2019

Как мне записать файл 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 голосов
/ 20 апреля 2019

"%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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...