Batch file 批处理脚本以查找系统品牌和型号,然后运行另一个脚本
我试图制作一个批处理脚本,找出计算机的制造、模型,然后执行我已经创建的另一个批处理脚本 到目前为止,我已经得到了计算机制造商:Batch file 批处理脚本以查找系统品牌和型号,然后运行另一个脚本,batch-file,Batch File,我试图制作一个批处理脚本,找出计算机的制造、模型,然后执行我已经创建的另一个批处理脚本 到目前为止,我已经得到了计算机制造商: FOR /F "tokens=2 delims='='" %%A in ('wmic ComputerSystem Get Manufacturer /value') do SET manufacturer=%%A 这是为了得到模型: FOR /F "tokens=2 delims='='" %%A in ('wmic ComputerSystem Get Model
FOR /F "tokens=2 delims='='" %%A in ('wmic ComputerSystem Get Manufacturer /value') do SET manufacturer=%%A
这是为了得到模型:
FOR /F "tokens=2 delims='='" %%A in ('wmic ComputerSystem Get Model /value') do SET model=%%A
现在,我不知道如何将make和models用作IF语句中的变量。第一个问题:如何将
wmic
输出分配给环境变量:
for /f "tokens=1* delims==" %%a in (
'wmic computersystem get model /value'
) do for /f "delims=" %%c in ("%%~b") do set "model=%%c"
echo %model%
for循环在哪里
检索模型(在第二个令牌中,%%a
)%%b
删除返回值中的结束回车符(%%c
行为:每个输出行以wmic
结束,而不是普通的0x0D0A
)0x0D0A
(括号中的)内赋值,如何引用环境变量:
运行上面的脚本以查看效果:
遵循Stephan关于使用的评论。这对您有用吗?:如果“%manufacturer%”==“Hewlett-Packard”echo yes
@ECHO OFF >NUL
SETLOCAL enableextensions disabledelayedexpansion
set "model=nothing assigned yet"
for /f "tokens=1* delims==" %%a in (
'wmic computersystem get model /value'
) do for /f "delims=" %%c in ("%%~b") do (
set "model=%%c"
echo %model% :referenced using percent signs within a command block
SETLOCAL enabledelayedexpansion
echo !model! :referenced using exclamation marks within a command block
ENDLOCAL
)
echo %model% :referenced using percent signs out of a command block
ENDLOCAL
goto :eof
==>D:\bat\StackOverflow\29893432.bat
nothing assigned yet :referenced using percent signs within a command block
System Product Name :referenced using exclamation marks within a command block
System Product Name :referenced using percent signs out of a command block
==>