我目前正在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 的作者)