Запись VBscript и CMD в текстовый файл - PullRequest
0 голосов
/ 25 марта 2012

Я пишу скрипт, который выполняет и записывает все в файл

, вот пример,

Я сохранил полную команду в переменной 'Command',

Command = "ftp ftp.xyz.com 21 " & vbCRLF

и затем выполнить его в командной строке,

shell.Run "%comspec% /c FTP " & Command & " > " & E:/abc.txt, 0, TRUE

, но при выполнении этой программы она не будет ничего записывать в текстовый файл, так как это неполная команда, эта команда при выполнении предлагает пользователю ввестиимя пользователя и пароль FTP,

как я могу сделать так, чтобы моя программа автоматически вводила имя пользователя и пароль при появлении запроса и затем записывала все в файл?

1 Ответ

1 голос
/ 26 марта 2012

Вам нужно запустить FTP, используя автоматический скрипт. (Попробуйте ftp /? и посмотрите на ключ -s.)

Это выглядит так:

Const HOSTNAME = "ftp.myserver.com"
Const USERNAME = "Login"
Const PASSWORD = "password"

Set WshShell = CreateObject("WScript.Shell")
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.CreateTextFile("session.txt")

With objFile
    .WriteLine "USER username"
    .WriteLine "password"
    .WriteLine "cd /public_html/"  ' continue adding commands like this
    .Close
End With

strOutput = "C:\somefilepath\output.txt"
strCommand = "%systemroot%\System32\ftp.exe -s:session.txt > " & strOutput
strCommand = WshShell.ExpandEnvironmentStrings(strCommand)
WshShell.Run strCommand, 0, vbTrue

objFso.DeleteFile "session.txt", vbTrue

Вы можете прочитать больше в моей статье Использование FTP в WSH на ASP Free. Я также ответил на связанный вопрос здесь .

...