我有一个很长的 Windows 批处理脚本。在它的中间有一个部分使用 appcmd 来检测我的 IIS 中站点的根路径。该部分在独立执行时运行良好。但是当我执行整个批处理时,这部分可能会偶尔检测不到站点路径。我完全被这个不可靠性问题搞糊涂了。有没有人遇到过这个?
谢谢
解决方案
变量声明与其生效之间似乎存在一些延迟。我更改了批处理文件某些部分的顺序,到目前为止它运行良好。我必须说,这仍然很奇怪。
我有一个很长的 Windows 批处理脚本。在它的中间有一个部分使用 appcmd 来检测我的 IIS 中站点的根路径。该部分在独立执行时运行良好。但是当我执行整个批处理时,这部分可能会偶尔检测不到站点路径。我完全被这个不可靠性问题搞糊涂了。有没有人遇到过这个?
谢谢
变量声明与其生效之间似乎存在一些延迟。我更改了批处理文件某些部分的顺序,到目前为止它运行良好。我必须说,这仍然很奇怪。
由于我不知道您的未知代码中存在什么类型的问题,因此我只能在批处理文件中显示已知的不可预测或随机行为。
1- 行结束的多个任务回显有时但并非总是将换行和回车打印为 ASCII 字符 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%#
)
)