首先,抱歉,如果我的问题描述已关闭。我遇到的问题是,当我在批处理文件中运行命令时,它会打开另一个控制台窗口,显示结果几分之一秒,然后再次关闭。我希望在该窗口中显示命令(devcon status)的结果,类似于“暂停”选项。
以下是代码:
@ECHO off
cls
:start
ECHO.
ECHO What would you like to do?
ECHO 1. Disable Bluetooth
ECHO 2. Enable Bluetooth
ECHO 3. Check status
ECHO 4. Quit
ECHO.
set /p choice=Type the first word of the option you want.
ECHO.
if %choice%==Disable (
goto :DBt
) else if %choice%==Enable (
goto :EBt
) else if %choice%==Check (
goto :CS
) else if %choice%==Quit (
goto :end
) else (
echo Invalid choice.
pause
goto start
)
:DBt
devcon disable *REV_7869
goto end
:Ebt
devcon enable *REV_7869
goto end
:CS
devcon status *REV_7869
goto end
:end
exit
当我输入“Check”时,它会打开另一个控制台窗口,正确运行devcon status命令,但是当它有结果时立即关闭窗口。
当我通过命令提示符运行“devcon status [my adapter id]”时,它将返回“找到1个设备....驱动程序正在运行”。但是,当我从批处理文件中执行此操作时,它会打开一个新窗口,该窗口在命令运行后立即关闭,不允许我查看其结果。
在“devcon status * REV”之后添加“暂停”没有帮助解决问题。在另一个运行命令并关闭之后,它只是在原始命令窗口中输入“按任意键继续”。
所以我的问题是如何在命令运行后保持第二个窗口打开?
答案 0 :(得分:1)
你能不能在命令后面加“暂停”来显示输出?如果它忽略了暂停,则很可能是一个错误。如果是一个bug,请在每个命令后放置暂停,然后慢慢浏览所有内容以查找错误。
答案 1 :(得分:0)
您可能会尝试使用start
命令,而不是使用:start
作为跳转标签:
start "" /b "devcon" disable *REV_7869
我不知道defcon
,也不知道为什么会有第二个cmd
窗口。
答案 2 :(得分:0)
devcon.exe
需要提升的特权。如果您从非高架命令窗口运行脚本,则可能会收到UAC提示(“是否要运行它?”)。确认后,将打开一个新的管理员命令窗口,devcon.exe
运行完成,命令窗口关闭。
从已经升高的提示符下运行脚本。然后,您将直接在控制台中看到devcon.exe
的输出。