我有一个很长的Windows批处理脚本。在它的中间有一个部分使用appcmd来检测我的IIS中的站点的根路径。该部分在独立执行时运行正常。但是当我执行 整个 批处理时,此部分可能无法偶尔检测到网站路径 。我对这个不可靠性问题感到困惑。有没有人见过这个?
由于
似乎变量声明与其生效之间存在一些延迟。我改变了批处理文件某些部分的顺序,到目前为止运行正常。我必须说,它仍然很奇怪。
答案 0 :(得分:0)
由于我不知道您的未知代码中存在什么类型的问题,我只能在批处理文件中显示已知的不可预测或随机行为。
1-多个任务回显行结束 有时但并非总是将换行符和回车符打印为ASCII-Chars 10/13(圆圈和注释)而不是开始换行。
@echo off
if "%1"=="/second" (
call :task %2
goto :eof
)
(call "%~0" /second 1 >con ) | ( call "%~0" /second 2 )
echo END OF TASKS
goto :eof
:task
for /L %%n IN (1,1,10) DO (
echo This is task%1, output no %%n
ping -n 2 localhost > nul
)
goto :eof
2-有时但并不总是扩展%〜^ LF崩溃,然后命令窗口立即关闭。
@echo off
set critical_content=hello%%~^
echo No crash
for %%a in (1 ) do (
for %%x in (4) do (
rem #%critical_content%#
)
)