使用 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 参数传递给 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 的作者)

相关内容