2012-07-02 3 views
0

Я использую скрипт Powershell для автоматизации отправки .txt на FTP-сайт. Когда я выполняю его в powershell, ничего не происходит. Появится сообщение root \ prompt ... нет сообщений о том, что он был успешным. Как узнать, работает ли это? Вот мой скрипт, если он поможет.ftp через powershell - как указать успех


$localfile = "D:\Export\TESTING.txt" 
$remotefile = "/TESTING.txt" 
$ftphost = "ftp://ftp.site.com" 
$URI = $ftphost + $remotefile 
$username="USERNAME" 
$password="1234" 
function Get-FTPFile 
($URI,$localfile,$username,$password){ 
$credentials=New-Object System.Net.NetworkCredential 
($username,$password) 
$ftp=[System.Net.FtpWebRequest]::Create($URI) 
$ftp.Credentials=$credentials 
$ftp.UseBinary=1 
$ftp.KeepAlive=0 
$response=$ftp.GetResponse() 
$responseStream = $response.GetResponseStream() 
$file = New-Object 
IO.FileStream ($localfile,[IO.FileMode]::Create) 
[byte[]]$buffer = New-Object byte[] 1024 
$read = 0 
do{ 
$read=$responseStream.Read($buffer,0,1024) 
$file.Write($buffer,0,$read) 
} 
while ($read -ne 0)$file.close() 
} 
+0

Был ли мой ответ достаточным, или я что-то пропустил? – David

ответ

0

WebRequestMethods.Ftp.GetFileSize Используйте следующие завершения загрузки, чтобы подтвердить, что размер закачиваемого файла соответствует локальному размеру файла.

Вы также можете использовать блок try/catch для проверки исключений во время операций чтения/записи. Отсутствие исключений даст вам уверенность в том, что загрузка прошла успешно (т. Е. Новости не являются хорошими новостями).

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