批处理文件 - 有没有办法在继续执行代码之前检查硬件是否启用/禁用?

批处理文件 - 有没有办法在继续执行代码之前检查硬件是否启用/禁用?

我目前正在使用这个下标(作为更大的启动脚本的一部分):

@echo off
echo *** Enabling NVIDIA GeForce GTX 1650 with Max-Q Design ***
devmanview.exe /enable "NVIDIA GeForce GTX 1650 with Max-Q Design"
echo *** Done ***
taskkill /IM cmd.exe

由于它需要一点时间才能完成,您是否知道在继续执行“devmanview.exe /enable "NVIDIA GeForce GTX 1650 with Max-Q Design"”之前是否有办法检查“NVIDIA GeForce GTX 1650 with Max-Q Design”是否已启用?

答案1

是的,您可以使用带有 /list_devices 选项的 devmanview.exe 实用程序检查设备是否已启用。这将列出设备管理器中的所有设备及其当前状态(启用或禁用)。

然后,您可以使用循环搜索设备列表并检查您感兴趣的设备是否已启用。下面是如何使用 findstr 命令在设备列表中搜索设备名称的示例:

@echo off

rem Check if the device is already enabled
devmanview.exe /list_devices > devices.txt

if not findstr /I "NVIDIA GeForce GTX 1650 with Max-Q Design" devices.txt goto enable_device

echo *** NVIDIA GeForce GTX 1650 with Max-Q Design is already enabled ***
goto end

:enable_device
echo *** Enabling NVIDIA GeForce GTX 1650 with Max-Q Design ***
devmanview.exe /enable "NVIDIA GeForce GTX 1650 with Max-Q Design"
echo *** Done ***

:end
taskkill /IM cmd.exe

这个脚本会检查设备是否已经启用,如果没有,就启用它。如果设备已经启用,它会打印一条消息表明设备已经启用,然后退出。

相关内容