【问题标题】:Batch won't show command result: closes window too quickly too read批处理不会显示命令结果:关闭窗口太快无法阅读
【发布时间】: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


【解决方案1】:

你不能在命令后加上“暂停”来显示输出吗?如果它忽略了暂停,那么它很可能是一个错误。如果是错误,请在每个命令后暂停,然后慢慢遍历所有内容以找到错误。

【讨论】:

    【解决方案2】:

    您可以尝试使用start 命令而不是使用:start 作为跳转标签:

    start "" /b "devcon" disable *REV_7869
    

    我不知道defcon,也不知道为什么你会得到第二个cmd 窗口。

    【讨论】:

    • 您的“start”/b devcon... 没有解决问题。此外,devcon 应用程序是从 Microsoft 下载的,类似于命令行设备管理器。在批处理文件中,我启用和禁用蓝牙适配器。
    • 您可以尝试将错误消息保存在日志文件中:devcon disable *REV_7869>file.log 2>&1
    • 日志选项生成“file.log”但它是空的。
    【解决方案3】:

    devcon.exe 需要提升的权限。如果您从非提升的命令窗口运行脚本,您可能会收到 UAC 提示符(“您要运行这个吗?”)。当您确认后,将打开一个新的管理员命令窗口,devcon.exe 运行完成,然后命令窗口关闭。

    从已经提升的提示符运行您的脚本。然后您将直接在控制台中看到来自devcon.exe 的输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      相关资源
      最近更新 更多