如何在打开后关闭.bat文件

时间:2017-09-28 02:54:06

标签: windows batch-file windows-10

我正在尝试制作一个打开.exe(HDDLED.exe)文件的加载栏批处理文件,但它将保持打开状态,直到我关闭.exe文件,我搜索了互联网,但我能找到的是这个:启动“”“,退出,tskill cmd.exe,以及其他一些东西,但它不起作用,这里是代码:

@echo off
color 0a
echo.
echo ---------------------------------------
echo                                 =   0 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo []                              =   5 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][]                            =  15 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][]                          =  23 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][][]                        =  30 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][][][]                      =  38 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][][][]                      =  42 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][][][][]                    =  45 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][][][][][]                  =  48 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][][][][][][]                =  50 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][][][][][][][]              =  56 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][][][][][][][][]            =  63 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][][][][][][][][][]          =  69 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][][][][][][][][][][]        =  75 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][][][][][][][][][][][]      =  79 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][][][][][][][][][][][][]    =  86 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][][][][][][][][][][][][][]  =  90 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo ---------------------------------------
echo [][][][][][][][][][][][][][][]  =  96 ]
echo ---------------------------------------
ping localhost -n 1 >nul
cls
echo.
echo         Welcome to HDDLED...
echo ---------------------------------------
echo [][][][][][][][][][][][][][][][]= 100 ]
echo ---------------------------------------


ping localhost -n 2 >nul
pause

pushd %~dp0
HDDLED.exe
popd"

*insert exit code here*

here's where i got the code

And here's where i got the HDDLED.exe file

ps,抱歉我的英语不好,我不是母语人士

1 个答案:

答案 0 :(得分:1)

替换命令块

pushd %~dp0
HDDLED.exe
popd"

在最后一行中用完全错误的"

start "HDDLED" /D"%~dp0" HDDLED.exe

命令 START 启动新进程,并在启动HDDLED.exe之前将批处理文件的目录设置为当前目录。如果HDDLED.exe是控制台应用程序而不是Windows GUI应用程序,则与命令进程并行运行处理批处理文件的新进程也是一个命令进程。在这种情况下,新命令进程还会打开一个控制台窗口,标题为HDDLED,指定为双引号中的第一个参数。

在命令提示符窗口start /?中运行,以获取解释此命令及其选项的帮助。

执行 START 后,Windows命令解释程序cmd.exe会立即继续处理批处理文件。批处理文件处理退出,批处理文件中不再有行。这意味着如果批量文件被双击执行,则退出命令进程。

我建议您进一步将ping替换为%SystemRoot%\System32\ping.exe,以使您的批处理文件独立于环境变量PATHEXTPATH的值。

我认为你的批处理文件中并没有真正指定localhost,因为在这种情况下-n 1根本没有意义,因为本地主机总是立即回应echo请求。

建议:您应该使用带有Welcome to HDDLED... FOR 循环或带有的标签,通过命令块替换for /L %%I in (1,1,100) do (...)输出上方的整个批次代码GOTO 命令和set /A Number+=1。在命令提示符窗口for /?goto /?以及set /?中运行以获取有关这3个命令的帮助。通过使用 GOTO 命令跳转到 FOR 循环下面的标签,可以随时打破 FOR 循环。