我正在尝试使用 MS DOS ftp 脚本(Windows 7)从 Unix 机器获取一些文件。我是新手,所以我一直在尝试修改一个在线示例。代码如下:
@echo off
SETLOCAL
REM ##################################
REM Change these parameters
set FTP_HOST=host
set FTP_USER=user
set FTP_REMOTE_DIR=/users/myAcc/logFiles
set FTP_REMOTE_FILE=*.log
set FTP_LOCAL_DIR=C:\Temp
set FTP_TRANSFER_MODE=ascii
REM ##################################
set FTP_PASSWD=password
set SCRIPT_FILE=%TEMP%\ftp.txt
(
echo %FTP_USER%
echo %FTP_PASSWD%
echo %FTP_TRANSFER_MODE%
echo lcd %FTP_LOCAL_DIR%
echo cd %FTP_REMOTE_DIR%
echo prompt
echo mget %FTP_REMOTE_FILE%
) > %SCRIPT_FILE%
ftp -s:%SCRIPT_FILE% %FTP_HOST%
del %SCRIPT_FILE%
ENDLOCAL
但是,当我运行此命令时,mget
命令失败并给出以下输出:
注意:脚本其余部分的输出显示前面的所有步骤都按预期工作。我什至添加了ls
命令来验证脚本是否在正确的目录中。
...
ftp> mget *.log
200 Type set to A; form set to N.
mget logFile1_SystemOut_22-01-13.log? mget logFile2_SystemOut_22-01-13.log? mget
logFile3_SystemOut_22-01-13.log? ftp>
我已经手动重复了完全相同的步骤,它工作正常 - 没有问题,文件已成功传输到 C:\Temp 目录。
我已经检查了许多论坛和其他网站,但我看不出它为什么会这样。关于为什么这在脚本中不起作用的任何指针都会很棒!
谢谢