windows - 批处理脚本,多个查找和多个集合
目前我正在运行以下内容以从系统信息中获取一些信息,但是它需要运行两次systeminfo,这需要一些时间。我怎样才能做多个' Find" XXX"设置'?
https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css
https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js
https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.js
非常感谢任何帮助。
最佳答案:
3 个答案:
答案 0 :(得分:2)
下一个代码段可以正常工作(注意set
命令只是ECHO
用于调试目的;在调试之后删除大写的ECHO
:
For /f "delims=" %%A IN ('systeminfo') DO (
For /F "delims=" %%G IN ('echo %%A ^| Find /I "OS Name"') Do ECHO Set "VarA=%%A"
For /F "delims=" %%G IN ('echo %%A ^| Find /I "BIOS Version"') DO ECHO Set "VarB=%%A"
)
但是,请遵循Stephan的建议并解析wmic
输出(不要忘记/value
选项)。要做到这一点,请注意Dave Benham的文章 WMIC
and FOR /F
: A fix for the trailing <CR>
problem
答案 1 :(得分:0)
我也会使用WMIC,但如果你想使用SYSTEMINFO,有一个简单的解决方案 - 使用FINDSTR和两个/ C:&#34;搜索字符串&#34;
for /f "tokens=1,2*" %A in ('systeminfo ^| findstr /c:"OS Name" /c:"BIOS Version"') do set "%A=%C"
以上将在英语机器上定义两个变量:OS和BIOS。
答案 2 :(得分:0)
感谢回复人员。
我想设置批处理文件可以运行的位版本窗口,我很久以前就把它想出来了但是我想在这里发布它的那些会遇到它:
echo %PROCESSOR_ARCHITECTURE% | find "64" > NUL
If %ERRORLEVEL% equ 0 (Set bit=64) else (Set bit=32)
谢谢!
本文经用户投稿或网站收集转载,如有侵权请联系本站。