0

我正在使用 Powershell 脚本自动将 .txt 发送到 FTP 站点。当我在 powershell 中执行它时,什么也没有发生。root\prompt 只是出现......没有成功的消息。我如何判断它是否有效?这是我的脚本以防万一。


$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()
}
4

1 回答 1

0

使用WebRequestMethods.Ftp.GetFileSize以下上传完成来确认上传的文件大小与本地文件大小匹配。

您还可以使用 try/catch 块在读/写操作期间检查异常。没有例外会让您确信上传成功(即没有消息就是好消息)。

于 2012-07-02T20:33:25.390 回答