我正在使用Powershell脚本自动将.txt发送到FTP站点。当我在powershell中执行它时,没有任何反应。只显示root \ _提示符...没有成功的消息。我如何判断它是否有效?这是我的脚本,以防万一。
$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 :(得分:0)
完成上传后使用WebRequestMethods.Ftp.GetFileSize
确认上传的文件大小与本地文件大小匹配。
您还可以使用try / catch块在读/写操作期间检查异常。缺少例外情况可以让您确信上传成功(即没有新闻是好消息)。