如何防止自定义批处理命令在执行后关闭

How to prevent custom batch commands from closing after execution

我开始对向我的批处理程序添加自定义命令感兴趣。我在我的 C: 驱动器中创建了一个文件夹,更改了路径,现在可以通过在脚本中键入其名称来调用文件中的任何批次。

但出于某种原因,在我键入自定义命令后,该命令会执行,然后完全结束程序,即使它下面有更多命令,或者有暂停也是如此。

我试过使用自定义命令更改批次,但无济于事。 我能做些什么来阻止这种情况发生吗?

编辑: 例如:

以下是自定义命令文件的内容。

@echo off
SETLOCAL EnableDelayedExpansion
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
  set "DEL=%%a"
)
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1
goto :eof

因为我在系统设置中修改了 PATH 变量,所以我可以在脚本中输入文件名,然后 运行 它作为命令,如下所示:

cecho 颜色 "text"

但是,执行后,自定义命令会结束自身和脚本 运行 它,不允许在它之后的任何其他命令到 运行。

例如: cecho 07 "hi" - 运行s 然后关闭两个进程

暂停 - 不是 运行

我不太会解释事情,但我希望有人能理解这一点。

您需要运行 call BatchFileName 强制批处理解释器return 到前一个批处理文件。