2012-03-25 5 views
0

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

здесь пример,

я сохранил полную команду в переменной «Command»,

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

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

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

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

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

ответ

1

Вам необходимо запустить 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 

Вы можете прочитать в моей статье Using FTP in WSH на ASP Free. Я также ответил на соответствующий вопрос here.

+1

Я предполагаю, что в строке есть строка 'strCommand = WshShell.ExpandEnvironmentStrings (strFTP)'. strFtp не определено. –

+1

Спасибо. Это исправлено. – Nilpo

Смежные вопросы