0

我正在编写 1 个脚本来将文件从 ftp 移动到远程。

它在命令提示符下运行良好,但是当我编写批处理脚本时,它没有正确执行,首先给我错误提示用户未登录,可能是因为我的密码中有特殊字符。代码如下,这是一个紧迫的问题.. 寻找快速答案尝试将 pswd 放在 diff 中。文件。用^^尝试过输出是正确的,但仅在回声中

我的密码是 ^xinPS032

echo ^^caret^^

@Echo Off
setlocal EnableDelayedExpansion
Set _FTPServerName=ftp.us.benfieldgroup.com
Set _UserName=FtpTemp0013
Set _Password>ftpcmd.dat
echo quit>> ftpcmd.dat
Set _LocalFolder=FtpTemp0013
Set _RemoteFolder=D:\Informatica\9.5.0\server\infa_shared\BWParam
Set _Filename=*.zip
Set _ScriptFile=scrip
:: Create script
>"%_ScriptFile%" Echo ftp %_FTPServerName%
>>"%_ScriptFile%" Echo %_UserName%
>>"%_ScriptFile%" Echo %_Password%
>>"%_ScriptFile%" Echo lcd %_LocalFolder%
>>"%_ScriptFile%" Echo cd %_RemoteFolder%
>>"%_ScriptFile%" Echo binary
>>"%_ScriptFile%" Echo get %_Filename%
>>"%_ScriptFile%" Echo quit
:: Run script
ftp -s:"%_ScriptFile%"
Del "%_ScriptFile%"

错误信息

ftp> ftp ftp.us.benfieldgroup.com 命令无效。ftp> FtpTemp0013 命令无效。ftp> xiPS032Set _LocalFolder= 无效命令。ftp> lcd FtpTemp0013 FtpTemp0013:找不到文件 ftp> cd D:\Informatica\9.5.0\server\infa_shared\BWParam 未连接。ftp> binary 未连接。ftp> get *.zip 未连接。ftp>退出

4

1 回答 1

0

您的第一个命令应该是open. ftp 脚本旨在像您直接将它们键入ftp>“shell”一样运行。在那个“shell”中,您使用“open”而不是“ftp”启动连接,例如:

ftp> ftp ftp.adobe.com
Invalid command.
ftp> open ftp.adobe.com
Connected to ftpgen.wip4.adobe.com.
220-ftp.adobe.com
220-Adobe Systems, Inc.
于 2012-10-31T05:12:20.407 回答