一旦 BAT 被编译成 EXE,我就无法让嵌入式 EXE 正常运行

一旦 BAT 被编译成 EXE,我就无法让嵌入式 EXE 正常运行

我创建了一个批处理文件,它允许我更改静态 IP 地址或启用网络适配器的 DHCP。它工作得很好。我执行了 Horst Schaeffer 编写的几个 EXE 文件。它们是 Wbox、Wbusy 和 winput(可在此处找到:https://www.horstmuc.de/wcon.htm)。这些程序与我的 BAT 位于同一文件夹中。我还使用 Artur Zgadzaj 编写的另一个 BAT 来授予我的窗口管理员权限(https://superuser.com/a/921887)。

(顺便说一句,除了 Zgadzaj 的选项之外,我无法让链接页面上的任何其他选项起作用。如果您有更简单的解决方案,请告诉我。)

问题:

当我尝试通过 iexpress 制作 BAT 和 EXE 时,它会运行到第一个弹出屏幕并显示弹出窗口。但是一旦选择了某个选项,程序就会关闭而不是继续运行。

这段代码基本上就是我正在做的事情,但是更加简化,并且添加了很多文字以供您澄清:

@ECHO off

:TOF

:: ECHO This is a test file.
:: ECHO.
:: ECHO First, we will give this cmd window admin privileges.
:: PING localhost -n 4 >NUL

:Admin_Priv
    :: Run Batch_Admin.bat to auto-promt admin privilages
    net session >nul 2>nul&if errorlevel 1  Batch_Admin "%~0" %*

:: ECHO.
:: ECHO We will now check admin privileges.
:: PING localhost -n 4 >NUL

:check_Permissions2
    ECHO.
    ECHO Detecting permissions...
    net session >nul 2>&1
    if %errorLevel% == 0 (
        echo Success: Administrative permissions confirmed.
    ) else (
        echo Failure: Current permissions inadequate.
    )

:: ECHO.
:: ECHO The main part of the file will now begin...
:: PING localhost -n 4 >NUL

:Num_0
    ECHO.
    ECHO This in Number 0
    WBOX "Go To what?" "Choose" "1;2;Write Something" /BW=110
    GOTO Action_%errorlevel%
        :Action_1
        GOTO Num_1
        :Action_2
        GOTO Num_2
        :Action_3
        GOTO W_S

:Num_1
    ECHO.
    ECHO This in Number 1
    PAUSE
    WBOX "Go To what?" "Choose?" "0;2;Write Something" /BW=110
    GOTO Action_%errorlevel%
        :Action_1
        GOTO Num_0
        :Action_2
        GOTO Num_2
        :Action_3
        GOTO W_S

:Num_2
    ECHO.
    ECHO This in Number 2
    PAUSE
    WBOX "Go To what?" "Choose" "0;1;Write Something" /BW=110
    GOTO Action_%errorlevel%
        :Action_1
        GOTO Num_0
        :Action_2
        GOTO Num_1
        :Action_3
        GOTO W_S

:W_S
    ECHO.
    ECHO You can write something in the next pop-up box and have it display here.
    PAUSE

    ECHO.
    TYPE nul >temp.cmd
    winput "Type Words" "set WORD_CHOICE=$input" "write what you wish to be displayed in cmd." "(Enter text here)" > temp.cmd
    call temp.cmd
    DEL temp.cmd
    ECHO You typed:
    ECHO %WORD_CHOICE%
    ECHO.
    PAUSE

    ECHO.
    WBOX "Go To what?" "Choose?" "0;1;2" /BW=110
    GOTO Action_%errorlevel%
        :Action_1
        GOTO Num_0
        :Action_2
        GOTO Num_1
        :Action_3
        GOTO Num_2

当在开始时激活所有注释的命令时,它会直接运行到弹出窗口并关闭。我将它们添加到此代码中(不是我的原始代码),以查看发生了什么以及导致关闭的原因。

我也尝试在“高级 BAT 到 EXE”中创建它,以便我可以删除管理脚本并让程序自动提示权限,但发生了非常类似的事情。

我确信这与调用 EXE 程序和/或存储它们的临时信息有关,但我不知道如何解决这个问题。我只是一个新手业余爱好者,创建这些东西是为了简化我作为艺术家的工作流程。

任何帮助都将不胜感激。谢谢!

相关内容