本帖最后由 cc5511 于 2020-8-28 20:53 编辑
回复 8# DAIC
你好,你这个测试了正确的;
不过echo %str%后面加文字的话(比如:echo %str%你好),变量后面的文字就会显示错位,这个变量也不算是一个“健康正常”的变量,请问要怎么处理呢? 我被这个类似问题困扰了。。。
以上是前几天遇到的问题,现在找到办法了。。知道怎么解决了。。。是因为wmic命令的结果末尾会有“隐形的类似【换行】或【TAB】的显示”,需要用(for、call、echo)三个命令配合过滤一下。以8楼的代码再做一下改进。- @echo off
- for /f "tokens=2 delims==" %%i in ('wmic CPU get ProcessorID /value ^| findstr "ProcessorId"') do (
- set str=%%i
- )
-
- ::增加下面这行来过滤wmic命令结果末尾的“换行”。
- for /f "delims=" %%a in ('call echo %str%') do set str=%%a
-
- echo %str%
- pause
复制代码
|