使用批处理在当前窗口中运行文件

时间:2015-03-10 21:56:47

标签: batch-file window

这很难解释,所以我会尽我所能。

当我在Batch中使用start命令时,它会创建一个新窗口等。

我正在尝试创建自己的控制台批处理脚本,这不像cmd.exe那样烦人。

问题是在当前窗口中运行helpecho等命令。

我目前的代码是

:console
set COMMAND=n
set /p COMMAND=%~dp0console.exe^> %=%
if %COMMAND%==exit exit
start %COMMAND%
rem Wait 1000
goto console

我正在使用Batch to EXE Con​​verter,因此rem Wait 1000有效。

该脚本的一个大问题是,如果用户键入helpecho以及任何其他命令,您可以在cmd.exe中正常运行,它将打开一个新的cmd.exe窗口,运行脚本。我不希望这种情况发生,有没有办法解决问题?

我尝试过的事情:

  • 我没有使用start %COMMAND%,而是使用了%COMMAND%。这个 导致错误。

(如果建议不起作用,将在此列表中添加)

1 个答案:

答案 0 :(得分:1)

有两种选择:

call %command% 

这将等到命令结束

start /b %command%

将在当前窗口中启动命令