我创建了一个批处理文件,它允许我更改静态 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 程序和/或存储它们的临时信息有关,但我不知道如何解决这个问题。我只是一个新手业余爱好者,创建这些东西是为了简化我作为艺术家的工作流程。
任何帮助都将不胜感激。谢谢!