用 SFTP 取代 FTP 來傳輸檔案 - 僅 PSFTP.EXE

用 SFTP 取代 FTP 來傳輸檔案 - 僅 PSFTP.EXE

我目前正在FTP'ing從伺服器向 unix 盒子發送文件windows。我想更改腳本的以下部分並將 ftp 進程遷移到sftp.

@echo off
echo user %user%> ftpcmd.dat
echo %password%>> ftpcmd.dat
echo bin>> ftpcmd.dat
echo put %filetobeuploaded% %filepath%%File%>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat %host%
del ftpcmd.dat
:END

我已經PSFTP.EXE安裝在我的windows目錄下。使用它我可以透過 SFTP 發送檔案嗎?

如何將線路替換ftp -n -s:ftpcmd.dat %host%為 SFTP。我知道你可以做這樣的事情...

CALL PSFTP.EXE [email protected] ....

如果有人熟悉的話,請幫我完成它。我會給什麼論點。使用者、密碼、remotedir、主機詳細資料保存在屬性檔中。我希望使用密鑰而不是密碼。您可以將現有的 ftpcmd.dat arg 傳遞給 psftp 嗎?

答案1

您也可以使用 WinSCP。它支援 SFTP 和腳本。

請參閱將 Windows FTP 腳本轉換為 WinSCP SFTP 腳本的指南

該腳本將如下所示:

open sftp://%user%:%password%@%host%
put -transfer=binary %filetobeuploaded% %filepath%%File%
exit

您可以像這樣運行腳本(如果已儲存到script.txt):

winscp.com /script=script.txt

請注意(與 相反ftp.exe),環境變數也在 WinSCP 腳本中解析。

如果您想使用私鑰文件,請使用:

open sftp://%user%@%host% -privatekey=path\key.ppk

(我是WinSCP的作者)

相關內容