[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 cc5511 于 2020-8-27 10:39 编辑

回复 3# wxcute


    谢谢你的解疑!我遇到的问题也解决了,echo前面加call就行了。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=2 delims==" %%a in ('wmic memphysical get MemoryDevices /value') do set nctsl=%%a
  4. call echo 内存条数量为:!nctsl!根
  5. set sz=0
  6. for /f "tokens=2 delims==" %%a in (
  7. 'wmic memorychip get Capacity^,ConfiguredClockSpeed^,DeviceLocator^,Manufacturer^,PartNumber /value ^| find /i "Capacity"'
  8. ) do (
  9. set /a sz=!sz!+1
  10. if !sz! equ 1 set nc!sz!=%%a
  11. if !sz! equ 2 set nc!sz!=%%a
  12. if !sz! equ 3 set nc!sz!=%%a
  13. if !sz! equ 4 set nc!sz!=%%a
  14. )
  15. for /l %%a in (1,1,!nctsl!) do call echo 第%%a根内存条容量:!nc%%a!字节
  16. pause
复制代码

TOP

谢谢3楼的解疑!经过学习,改造了下,可以通过for+call echo过滤一次,就能正常赋值到变量上了。
主要是这句:for /f "delims=" %%b in ('call echo !cpuxh!') do set cpuxh=%%b
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=2 delims==" %%a in ('wmic cpu get Name /value') do set cpuxh=%%a
  4. for /f "delims=" %%b in ('call echo !cpuxh!') do set cpuxh=%%b
  5. echo                               CPU型号为:变量前面!cpuxh!变量后面
  6. pause
复制代码

TOP

回复 7# everest79

这样过滤一下就好了:
  1. for /f "delims=" %%b in ('call echo !变量!') do set 变量=%%b
复制代码

TOP

返回列表