gpt4 book ai didi

batch-file - WinSCP 退出代码未反射(reflect)在 ERRORLEVEL 变量中

转载 作者:行者123 更新时间:2023-12-05 08:10:03 26 4
gpt4 key购买 nike

不确定此 Windows 批处理和 winscp 命令中缺少什么,即使在 winscp 命令返回大于 0 的错误代码的负面情况下,我也很难看到 ERRORLEVEL 值与 0 不同。

请看下面的例子。

我给的用户名和密码不正确,并希望 winscp 程序填充大于 0 的 ERRORLEVEL。

ECHO Connecting WinSCP...
SET TMPLOC_WINSCP="C:\Program Files\WinSCP\winscp.com"
set FILE_TO_GET=TEST.txt
%TMPLOC_WINSCP% /command ^
"option batch abort" ^
"option confirm off" ^
"open ""DEVCONN""" ^
"get %FILE_TO_GET%" ^
"exit"
ECHO ERRORLEVEL error code is... %ERRORLEVEL%
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_WINSCP
echo File downloaded successfully...

:ERROR_WINSCP
echo Error occured...%ERRORLEVEL%
GOTO END

控制台日志是...

Connecting WinSCP...
batch abort
confirm off
Searching for host...
Connecting to host...
Authenticating...
Using username "XYZ".
Authenticating with pre-entered password.
Access denied.
Connection has been unexpectedly closed. Server sent command exit status 0.
Authentication log (see session log for details):
Using username "XYZ".
Access denied.

Authentication failed.
ERRORLEVEL error code is... 0
File downloaded successfully...

如果上述结果是预期的,那么有什么方法可以识别连接建立失败并相应地脚本可以执行回退命令..

我在 Windows 8 操作系统中使用 winscp 4.3。如果我在这里遗漏任何东西,请告诉我....

最佳答案

您可以尝试正确编写您的程序。

ECHO Connecting WinSCP...
"C:\Program Files\WinSCP\winscp.com" /command "option batch abort" "option confirm off" "open ""DEVCONN""" "get TEST.txt" "exit"
ECHO ERRORLEVEL error code is... %ERRORLEVEL%
IF ERRORLEVEL 0 If NOT ERRORLEVEL 1 echo Error 0
IF ERRORLEVEL 1 If NOT ERRORLEVEL 2 echo Error 1
IF ERRORLEVEL 2 If NOT ERRORLEVEL 3 echo Error 2
IF ERRORLEVEL 3 If NOT ERRORLEVEL 4 echo Error 3

如果错误显示 0,则您的程序未设置退出代码。

关于batch-file - WinSCP 退出代码未反射(reflect)在 ERRORLEVEL 变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29438186/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com