Batch file 使用| Find in cmd查找多行
我正在尝试创建一个批处理文件,以便在Windows 7中运行Batch file 使用| Find in cmd查找多行,batch-file,cmd,find,Batch File,Cmd,Find,我正在尝试创建一个批处理文件,以便在Windows 7中运行systeminfo命令,并缩小结果范围,使其不显示热修复程序信息,或仅显示某些特定行 有没有一种方法可以在不多次写出命令的情况下执行此操作? 也就是说,现在,我有以下几点: systeminfo|find "System Boot Time" systeminfo|find "Host Name" systeminfo|find "OS Name" 等等 问题是,它必须为每一行重新加载systeminfo命令中的所有信息,这需要
systeminfo
命令,并缩小结果范围,使其不显示热修复程序信息,或仅显示某些特定行
有没有一种方法可以在不多次写出命令的情况下执行此操作?
也就是说,现在,我有以下几点:
systeminfo|find "System Boot Time"
systeminfo|find "Host Name"
systeminfo|find "OS Name"
等等
问题是,它必须为每一行重新加载systeminfo命令中的所有信息,这需要相当长的时间。是否可以只运行一次命令,然后|查找并拉出多行
如果没有,是否可以使用其他命令删除信息?(我没听说过这样的东西,但不确定它是否存在)你可以使用这个:
@ECHO OFF &SETLOCAL
systeminfo|findstr /c:"System Boot Time" /c:"Host Name" /c:"OS Name"
有关
findstr
的更多信息,请查看。太好了!非常感谢!感谢您的或搜索。您甚至可以添加/i
以使搜索不区分大小写。这对于或搜索是可以的,但是我们如何进行和搜索,并尝试调用findstr&findstr,然后检查errorlevel。最好先将sysinfo保存到文件中,然后在该文件上运行findstr&findstr。在之后删除该文件。您还可以从单个systeminfo命令的输出中创建一个文件,并使用find或findstr对其进行多次搜索。恩多的解决方案非常适合这三个项目,但您可能希望以不同的方式为每一个项目进一步解析这些行。