Vbscript 没有获得正确的错误代码
当我在vbscript的代码下运行时,无论错误代码如何,我总是在日志文件中获得错误状态为0,但当我在命令提示符下运行相同的代码时,我获得错误代码127。下面是vbscript代码Vbscript 没有获得正确的错误代码,vbscript,plink,Vbscript,Plink,当我在vbscript的代码下运行时,无论错误代码如何,我总是在日志文件中获得错误状态为0,但当我在命令提示符下运行相同的代码时,我获得错误代码127。下面是vbscript代码 set objShell = WScript.CreateObject ("WScript.Shell") str = "plink.exe -ssh user@host -pw gbG8qs4D /remote_linux_server/listoffiles.sh > C:\count_data_csv.t
set objShell = WScript.CreateObject ("WScript.Shell")
str = "plink.exe -ssh user@host -pw gbG8qs4D /remote_linux_server/listoffiles.sh > C:\count_data_csv.txt"
error = "error %ErrorLevel%" >> C:\count_data_csv.txt"
objShell.run "cmd /k " & str & "&" & error
Set objShell = Nothing
请让我知道为什么错误代码不同
但在运行上述vbscript命令后,如果我在命令提示符中检查错误代码,我将得到错误代码127,这是正确的,但我的vbscript无法重定向count_data_csv.txt中的相同错误代码:(
errorlevel
在多个命令中使用时尚未设置:
DOS C:\Documents and Settings\eh
echo %errorlevel%
0 <--- all is well
DOS C:\Documents and Settings\eh
dur *.* & echo %errorlevel%
'dur' is not recognized as an internal or external command,
operable program or batch file. <--- something fishy happenend
0 <--- errorlevel still looks good
DOS C:\Documents and Settings\eh
echo %errorlevel%
9009 <--- better late then never
所以,如果你和普林克都能照章办事,那就试试看
p.S.提高你的希望:
>> Set oWS = CreateObject("WScript.Shell")
>> iRet = oWS.Run("plink -ssh -pw Geheim1 eh@uw ""pipapo -l tmp.txt""", 0, True)
>> WScript.Echo iRet
>>
127
error
,替换为Xerror
cmd/V:ON…
启用延迟扩展,由!ErrorLevel!
而不是%ErrorLevel%
echo
谢谢JosefZ,你的代码很有魅力。再次非常感谢
>> Set oWS = CreateObject("WScript.Shell")
>> iRet = oWS.Run("plink -ssh -pw Geheim1 eh@uw ""pipapo -l tmp.txt""", 0, True)
>> WScript.Echo iRet
>>
127
set objShell = WScript.CreateObject ("WScript.Shell")
str = "plink.exe -ssh user@host -pw gbG8qs4D /remote_linux_server/listoffiles.sh > C:\count_data_csv.txt"
Xerror = "echo error !ErrorLevel!>>C:\count_data_csv.txt"
objShell.run "cmd /V:ON /k " & str & "&" & Xerror
Set objShell = Nothing