命令内部运行完成后,批处理文件退出



我正在使用Batch为个人项目创建一个简单的命令行。但是,每当我尝试在其中执行批处理文件时,命令行都会在批处理文件完成后立即关闭。为什么会这样,我该如何解决?

这是源的相关位(也是SSCCE):

@echo off
:loopstart
    set /p comnd=%cd%^>
    %comnd%
goto loopstart

我有意见,但必须给你一个答案,所以有几件事:

Set 中的/p 选项会生成用户输入提示,因此它正在等待答案,但你未处理任何用户响应。

您已经设置了一个无限循环,最后是goto(但这不一定会导致CMD窗口关闭)。

最后重新删除goto并添加暂停,您应该能够跟踪问题。

编辑:每个用户评论的新答案---------------------------------------

在此蝙蝠

中使用 call,并在从此提示符运行的每个蝙蝠末尾退出/b

 :loopstart
 set /p comnd=%cd%^>
 call %comnd%
 goto loopstart

最新更新