在 MS-DOS (Windows 2003 R2 Server) 中,我有一个批处理文件,其中包含 FTP 命令,例如:-
FTP.CMD
-------
cd d:\extracts\scripts
ftp -i -s:ftp_getfile.ftp
exit
我希望批处理文件引发并返回错误级别 1 而不是 0,以便调用批处理文件可以处理它。
该错误可能是由于 FTP 服务器关闭所致。现在,没有返回任何内容来指示发生了错误情况。
请问有人可以建议吗?
谢谢!:)
在 MS-DOS (Windows 2003 R2 Server) 中,我有一个批处理文件,其中包含 FTP 命令,例如:-
FTP.CMD
-------
cd d:\extracts\scripts
ftp -i -s:ftp_getfile.ftp
exit
我希望批处理文件引发并返回错误级别 1 而不是 0,以便调用批处理文件可以处理它。
该错误可能是由于 FTP 服务器关闭所致。现在,没有返回任何内容来指示发生了错误情况。
请问有人可以建议吗?
谢谢!:)
也许为时已晚,但有可能。我正在运行以下脚本来检查 FTP 脚本返回的文本中的错误。如果您知道 FTP 返回的错误文本,那么这就是您使用“查找”命令查找的内容。ftp 命令位于名为 ftp.inp 的文件中,只需查看 FTP 的帮助,了解如何使用“-s”即可。
ftp -s:ftp.inp > ftp.log
find /I /C "not connected" ftp.log
IF NOT ERRORLEVEL 1 GOTO FTPERROR
find /I /C "not found" ftp.log
IF NOT ERRORLEVEL 1 GOTO FTPERROR
find /I /C "failed" ftp.log
IF NOT ERRORLEVEL 1 GOTO FTPERROR
REM --- no errors found
GOTO :END
:FTPERROR
REM --- error found
:END
根据这个问题: 如何在批处理脚本中捕获 ftp 错误代码?
windows FTP 命令不支持这种行为(或 PASV 模式),基本上几乎没用。
您可能想改用NcFtp。它是免费的、小巧的、便携的,并且有不错的错误代码。