注意:这个问题与我4个月前问的问题类似,但不是同一个问题。
我有以下批处理脚本:
@echo off
set DIR=U:\sendToJeff
echo Starting list filter...
%DIR%\OFCNSFilter.exe %DIR%\filter.ini %DIR%\OFCNS_FINAL_mod.xml %DIR%\outfile.xml
echo errorlevel = %errorlevel%
在cmd中运行时,我得到以下输出:
U:\sendToJeff>testscript.bat
Starting list filter...
U:\sendToJeff>
OFCNSFilter.exe是在Windows Server 2003 R2 Standard x64 Edition SP2上运行的.NET 3.5程序(用C#编写)。注意,第二个
ECHO
不执行命令。但是,如果我ECHO%ERRORLEVEL%,则为0(0=成功,1=失败)。很明显,程序实际上是运行的,因为outfile.xml是创建的。
这是我更困惑的地方。如果我运行一次,就会得到上面的输出。但是,如果我尝试在同一个cmd窗口中多次运行它,我会得到以下输出:
U:\sendToJeff>testscript.bat
Starting list filter...
U:\sendToJeff>testscript.bat
U:\sendToJeff>
以前有人在批处理脚本中见过这种行为吗?我很想知道如何解决这个问题。如果有帮助,我还使用System.Xml.Linq库。