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