簡體   English   中英

如何使用Putty在PowerShell中確認FTP上傳

[英]How confirm FTP upload in PowerShell using Putty

我有一個PowerShell腳本可以將文件上傳到FTP服務器。 一切正常。

$program = "C:\Putty\psftp.exe"
$pass = "test"
$hst = "109.18.205.14"
$user = "admin"
$file = "d:\FTP\Test.txt"
$cmd = @(
"cd /Test",
"put $file",
"bye"
)
[String]($cmd | & $program -pw $pass "$user@$hst" 2>&1)

我的問題是我需要確認上傳是否成功。 我只需要輸出消息“成功”或“失敗”,知道嗎?

您應該能夠將此集成到您自己的代碼中。 我剛剛在您的列表中添加了一個dir命令。 我不確定將其作為單獨的會話進行是否明智。 不理會您的其他變量,我只是將其添加到最后。

$cmd = @(
"cd /Test",
"put $file",
"dir",
"bye"
)
$return = @()
($cmd | & $program -pw $pass "$user@$hst") | ForEach-Object{$return+=$_}
If($return -match (Split-Path  $file -Leaf)){Write-Host "Success"} Else {Write-Host "Failed"}

在生產中,我不確定這將如何工作。 只需刪除$cmdput行,這確實可以檢查文件。 請注意 ,盡管我可以執行$return = ($cmd | & $program -pw $pass "$user@$hst" -P 49000)但是psftp命令kepy失敗了,這就是為什么我將輸出通過管道傳遞給and稱為$return數組

如果可以,請測試路徑以查看創建的文件是否存在。

如果存在,它將返回true

像這樣的東西:

if(test-path $file){
  echo success;
}
Else{
  echo false;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM