我想搜索字符串" 虚拟"在" 系统模型"属性' sysinfo '命令。如果虚拟'该命令应该是成功的。可以在'系统模型中找到:-------------------------' 即输出systeminfo。它不应该搜索虚拟'在systeminfo命令的整个输出中,但只应在系统模型属性中执行。 例如命令
systeminfo | findstr /i "system model"
我会得到像
这样的东西System Model: HP Compaq dc7800p Small Form Factor
在输出的上一行我想搜索字符串虚拟,并希望使用errorlevel进行操作。所以请帮我这样做。
以下是我尝试的那个不正确的。 或者如果我可以使用正则表达式帮助我
systeminfo | findstr /i /R "system model: virtual machine" > nul
if %errorlevel% == 0 (
echo virtual machine
) ELSE (
echo physical machine
)
提前致谢
答案 0 :(得分:13)
试试这个:
systeminfo | findstr /I /B /C:"system model" | findstr /I "virtual"
if %errorlevel% == 0 (
echo virtual machine
) else (
echo real machine
)
我已经在真实和虚拟系统上进行了测试,它在WinXp和Win7上运行良好。
请注意,system model
字符串仅用于英语Windows版本。其他语言的Windows版本将使用不同的名称。