2015-06-18 2 views
2

Я пытаюсь проверить мою передачу файлов соединение,VBScript проверки соединение FTP

Мне нужно, чтобы восстановить время, необходимое, чтобы сделать соединение и перейти в каталоге

, и я должен иметь сообщение об ошибке, когда пользователь или пароль неверны

Я пробую это, но я не могу получить сообщение об ошибке, когда соединение не установлено или пользователь или пароль ошибочны.

Set WshShell = CreateObject("WScript.Shell")  

     wshShell.run "ftp.exe",true 
     wscript.sleep 100 
     date_before_timestamp=Timer 

     WshShell.SendKeys "ftp.exe"&chr(13) 
     WshShell.SendKeys "open 127.0.0.1 21"&chr(13) 
     WshShell.SendKeys "galene"&chr(13) 
     WshShell.SendKeys "galene"&chr(13) 
     WshShell.SendKeys "cd test"&chr(13) 
     WshShell.SendKeys "quit"&chr(13) 
     WshShell.SendKeys chr(13) 
     date_after_timestamp=Timer 

     interval= date_after_timestamp - date_before_timestamp 
     wscript.echo interval 

как я могу изготовить?

ответ

1

Это один из способов. Добавьте свои команды FTP в текстовый файл и передайте его в качестве аргумента (с помощью переключателя -s). Затем перенаправьте вывод команды FTP в файл, который вы можете проанализировать.

' Create the FTP command file... 
With CreateObject("Scripting.FileSystemObject").CreateTextFile("c:\ftp.txt", True) 
    .WriteLine "USER testuser" ' Login 
    .WriteLine "secret1"  ' Password 
    .WriteLine "cd test"  ' Perform a command once logged in 
    .WriteLine "quit"   ' Done 
    .Close 
End With 

' Run the command and capture its output... 
With CreateObject("WScript.Shell") 
    tmrStart = Timer 
    .Run "%comspec% /c ftp -n -v -s:c:\ftp.txt ftp.mysite.com >c:\output.txt", 0, True 
    tmrEnd = Timer 
End With 

Вот пример того, что вы можете увидеть в output.txt, когда Логин не удается:

ftp> USER testuser 
User cannot log in. 
Смежные вопросы