背景:我正在使用 powershell 來實體化一個批處理檔案,以執行 WinSCP 中的同步遠程命令,并從遠程目錄拉入新鮮資料到我的本地目錄。WinSCP命令的內容和批處理檔案的內容見下面的螢屏截圖。 當我嘗試執行時,我能夠成功地進行認證,但我看到了兩個錯誤。
批處理檔案內容:
winscp.com /script=winscp_commands_ar_history.txt
/log=C:/Users/REDACTED/Desktop/AR_History_Report/winscp_log_ar_history。 txt。
WinSCP命令:
option batch abort
選項確認關閉
open sftp://REDACTED:[email protected]
-hostkey="ssh-rsa 2048 cc:ea:2e:03:96:ca:e7:c0:59:74:13:a8:XX:XX:XX"
同步遠程 /export/GroupAccess/REDACTED/Cognos Reporting/CogTest
C:/Users/REDACTED/Desktop/AR_History_Report
exit
錯誤:
未知的命令'-hostkey=ssh-rsa 2048 cc:ea:2e:03:96:ca:e7:c0:59:74:13:a8:XX:XX:XX'。
'/log'不被認可為內部或外部命令。
'/log'不被認為是內部或外部命令、可操作程式或批處理檔案。
問題:我如何解決這兩個錯誤?我懷疑最后一個錯誤與環境變數有關,因為Powershell似乎沒有識別WinSCP的日志命令,所以我已經將WinSCP添加到我的PATH環境變數中,但我仍然得到同樣的錯誤。誰能幫幫我?謝謝。
uj5u.com熱心網友回復:
你的批處理檔案和WinSCP腳本在命令的中間都有換行。此外,在synchronize命令中,你需要將路徑用空格包裹成雙引號。
該批處理檔案應該是:
winscp.com /script=winscp_commands_ar_history.txt /log=C:/Users/RedACTED/Desktop/AR_History_Report/winscp_log_ar_history.txt
而腳本檔案應該是:
option batch abort
選項確認關閉
打開 sftp://REDACTED:[email protected] -hostkey="ssh-rsa 2048 cc:ea:2e:03:96:ca:e7:c0:59:74:13:a8:XX:XX:XX"
同步遠程"/export/GroupAccess/REDACTED/Cognos Reporting/CogTest" C:/Users/REDACTED/Desktop/AR_History_Report
退出
作為一個旁觀者,正如 @mklement0 所評論的,你不需要另一個 powershell 行程來從 PowerShell 呼叫批處理檔案 - 直接呼叫批處理檔案即可。.ar_trigger_history.bat
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/326689.html
標籤:

