gpt4 book ai didi

windows - 从批处理文件启动 .exe 时奇怪的命令提示挂起

转载 作者:可可西里 更新时间:2023-11-01 11:08:59 26 4
gpt4 key购买 nike

我喜欢尽可能多地移植程序/应用程序,因此我会定期创建自执行的 SFX 存档,将其提取到 %temp%,然后运行选定的文件(通常是原始文件.exe 或(如有必要).bat 文件)。

我正在尝试将应用程序的 x86 和 x64 版本合并为一个版本,因为我不喜欢有 2 个文件。因此,我有 2 个文件夹(“x86”和“x64”),其中包含程序的不同版本和根目录中的 .bat 文件,该文件将检查用户的位数,然后启动适当的版本。不过,我遇到了一些问题。

这是我的代码:

checkandrun.bat

@echo off
goto Payload

:Payload
echo Checking architecture bit-type...

IF EXIST "%systemRoot%\SysWOW64" (
echo Your version of Windows is 64-bit [x64]
start "x64\GCFScape.exe" >nul
) ELSE (
echo Your version of Windows is 32-bit [x86]
start "x86\GCFScape.exe" >nul
)

echo.
echo Starting the appropriate version...

goto End

:End
echo.
echo This window will close in 20 seconds.
ping localhost -n 21 >nul
exit

如果我使用 start,那么原始命令窗口将根据需要正确退出,但会打开一个新的常量命令窗口,并且应用程序不会启动。

如果我不使用 start 应用程序启动但命令窗口将保持打开状态并且不会超过用于启动的代码行.exe。如果我关闭应用程序本身,那么命令窗口将正常执行 exit 命令并成功关闭。

有解决办法吗?我以前从未遇到过这种问题。

这是我 Dropbox 中 SFX 存档的链接,如果有人想亲自看看环境和效果:https://dl.dropbox.com/u/27573003/Social%20Distribution/gcfscape182.exe

最佳答案

START 命令的文档说引号中的第一个参数将是窗口的标题。所以,试试这个:

start /B "GCFScape" "x64\GCFScape.exe">nul

关于windows - 从批处理文件启动 .exe 时奇怪的命令提示挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10921047/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com