Batch file 批处理文件在命令运行内部完成时退出

Batch file 批处理文件在命令运行内部完成时退出,batch-file,windows-7,Batch File,Windows 7,我正在为个人项目使用批处理创建一个简单的命令行。但是,每当我尝试在其中执行批处理文件时,批处理文件一完成,命令行就会关闭。为什么会这样,我该如何修复它 这是源的相关位(也是SSCCE): 我有意见,但必须给你一个答案,所以有两件事: Set中的/p选项生成用户输入提示,因此它正在等待回答,但您没有处理任何用户响应 您已经设置了一个无限循环,最后是goto(但这不一定会导致CMD窗口关闭) Rem在结尾处跳出跳转,加上停顿,你应该能够找到问题所在 编辑:每个用户评论的新答案------------

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

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


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

Set中的/p选项生成用户输入提示,因此它正在等待回答,但您没有处理任何用户响应

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

Rem在结尾处跳出跳转,加上停顿,你应该能够找到问题所在

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

在此bat中使用call,并在此提示符下运行的每个bat末尾使用退出

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

如果您注意到,这是为了模拟命令行。因此,它应该采取用户输入;否则,它就没用了。它无限循环,因为它被设计成运行一个命令是无用的。它没有修改%cd%;相反,它访问它是为了显示
C:\Working\Directory\>
作为提示,而不是像在实际的Windows命令行中那样仅显示
。这根本不能回答我的问题。我问过如何保持命令在运行中不关闭命令行,而您的回答是告诉我修复设计中的问题-1.好的。如前所述,如果可以的话,我会在评论中要求澄清。在任何情况下,您是否尝试过使用暂停进行调试?我尝试过,但在暂停之前仍然失败。当命令运行时,会退出命令行。我不知道你为什么不能发表评论。我没有50个代表。。。现在稍微低一点。哈哈,在回答之前,我在编辑器中暂停运行它,它确实暂停了。在提示下输入任何内容时出错。请重新回答。这应该行得通。这是按顺序运行具有限定名称的BAT的好方法。
 :loopstart
 set /p comnd=%cd%^>
 call %comnd%
 goto loopstart