使用findstr过滤字符串
OS Version
:
C:\Windows\system32>systeminfo | findstr "OS Version"
OS Name: Microsoft Windows 10 Pro
OS Version: 10.0.19044 N/A Build 19044
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Workstation
OS Build Type: Multiprocessor Free
BIOS Version: American Megatrends Inc. 4.6.5, 2020/11/2
注意:
systeminfo | findstr "OS Version:"
具有相同的结果。OS Version: 10.0.19044 N/A Build 19044
为什么输出包含许多与匹配字符串无关的其他行
OS Version
?
因为“OS Version”同时匹配“OS”和“Version”。 如果您想匹配整个字符串
"OS Version"
而不是任何一个单词,这就是您想要的:
systeminfo | findstr "OS\ Version"
这将匹配“操作系统版本”和“BIOS 版本”行。 所以过滤掉 BIO 版本的东西是这样的:
systeminfo | findstr "OS\ Version" | findstr /v BIOS
尝试使用此方法提取几条信息并将其写入外部文件。
我现在的命令行是
SYSTEMINFO /S MyComputerName /FO CSV /NH >> sysinfo.csv
首先,我想要操作系统版本 我尝试过这个但不太有效...
SYSTEMINFO /S MyComputerName /FO CSV /NH | findstr "OS\ Name" | findstr /v BIOS >> sysinfo.csv
似乎仍在提取所有系统信息。 有什么建议/更正吗? 谢谢!