【问题标题】:How can i close a .bat file after opening it打开 .bat 文件后如何关闭它
【发布时间】:2017-09-28 02:54:05
【问题描述】:

我正在尝试制作一个打开 .exe (HDDLED.exe) 文件的加载栏批处理文件,但它会保持打开状态,直到我关闭 .exe 文件,我已经搜索了互联网,但我能找到的是this: start"" " , exit , 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,对不起,我的英语不好,我不是母语人士

【问题讨论】:

标签: windows batch-file windows-10


【解决方案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 根本没有意义,因为本地主机总是立即响应回显请求。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 2012-08-13
    相关资源
    最近更新 更多