2012-07-02 43 views
0

我正在使用PowerShell腳本來自動發送.txt到FTP站點。當我在PowerShell中執行它時,沒有任何反應。 root \提示符剛剛出現......沒有消息說它成功了。我如何判斷它是否有效?這是我的腳本,以防它有用。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塊在讀/寫操作期間檢查異常。沒有例外會給你一些上傳成功的信心(即沒有消息是好消息)。