0

我有一个很长的 Windows 批处理脚本。在它的中间有一个部分使用 appcmd 来检测我的 IIS 中站点的根路径。该部分在独立执行时运行良好。但是当我执行整个批处理时,这部分可能会偶尔检测不到站点路径。我完全被这个不可靠性问题搞糊涂了。有没有人遇到过这个?

谢谢

解决方案

变量声明与其生效之间似乎存在一些延迟。我更改了批处理文件某些部分的顺序,到目前为止它运行良好。我必须说,这仍然很奇怪。

4

1 回答 1

0

由于我不知道您的未知代码中存在什么类型的问题,因此我只能在批处理文件中显示已知的不可预测或随机行为。

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%#
    )
) 
于 2011-01-13T18:12:04.310 回答