Batch file 使用批处理在当前窗口中运行文件
这很难解释,所以我会尽力的 当我批量使用Batch file 使用批处理在当前窗口中运行文件,batch-file,window,Batch File,Window,这很难解释,所以我会尽力的 当我批量使用start命令时,它将创建一个新窗口等 我正在尝试制作自己的控制台批处理脚本,它不像cmd.exe那么烦人 问题是在当前窗口中运行诸如help、echo等命令 我现在的代码是 :console set COMMAND=n set /p COMMAND=%~dp0console.exe^> %=% if %COMMAND%==exit exit start %COMMAND% rem Wait 1000 goto console 我将它与批处理到EX
start
命令时,它将创建一个新窗口等
我正在尝试制作自己的控制台批处理脚本,它不像cmd.exe那么烦人
问题是在当前窗口中运行诸如help
、echo
等命令
我现在的代码是
:console
set COMMAND=n
set /p COMMAND=%~dp0console.exe^> %=%
if %COMMAND%==exit exit
start %COMMAND%
rem Wait 1000
goto console
我将它与批处理到EXE转换器一起使用,因此rem Wait 1000
是有效的
脚本的一个大问题是,如果用户键入help
或echo
以及任何其他可以在cmd.exe中正常运行的命令,它将打开一个新的cmd.exe窗口并运行脚本。我不希望这种情况发生,有没有办法解决这个问题
我尝试过的事情:
- 我没有使用
而是使用start%COMMAND%
。这 导致了一个错误%COMMAND%
call %command%
它将等待命令结束
start /b %command%
它将在当前窗口中启动命令请注意,如果运行
call
它可以更改原始上下文中的变量,而start/b
不能,因为start实际上打开了一个新进程。然而,如果要收集退出值(errorlevel),则应使用start。