【发布时间】:2013-08-20 20:55:29
【问题描述】:
首先,对不起,如果我对问题的描述不正确。我遇到的问题是,当我在批处理文件中运行命令时,它会打开另一个控制台窗口,在几分之一秒内显示结果,然后再次关闭。我希望在该窗口中显示命令的结果(devcon 状态),并带有“暂停”选项。
代码如下:
@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
当我输入“检查”时,它会打开另一个控制台窗口,正确运行 devcon status 命令,但在得到结果后立即关闭窗口。
当我通过命令提示符运行“devcon status [my adapter id]”时,它会返回“1 device found.... driver running”。但是,当我从批处理文件执行此操作时,它会打开一个新窗口,该窗口在命令运行后立即关闭,不允许我看到它的结果。
在“devcon status *REV”之后添加“暂停”并没有解决问题。它只是在另一个运行命令并关闭后将“按任意键继续”放在原始命令窗口中。
所以我的问题是如何在命令运行后保持第二个窗口打开?
【问题讨论】:
-
你调用批处理文件devcon了吗?你有另一个名为 devcon 的批处理文件吗?
-
不,devcon 是我放在 system32 文件夹中的命令行设备管理器应用程序。我不调用原始批处理中的任何其他批处理文件。
-
我使用 devcon - 我知道这个工具。但是,如果您将批处理文件命名为
devcon.bat或 .cmd,那么它将执行您描述的操作。 -
我让原来的 .bat 调用了一个新的 .cmd 来检查状态。这做了同样的事情,除了它打开了三个窗口,一个包含“按任意键继续”,另一个很快消失。
标签: batch-file