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

回复 8# DAIC


    你好,你这个测试了正确的;
    不过echo %str%后面加文字的话(比如:echo %str%你好),变量后面的文字就会显示错位,这个变量也不算是一个“健康正常”的变量,请问要怎么处理呢? 我被这个类似问题困扰了。。。

以上是前几天遇到的问题,现在找到办法了。。知道怎么解决了。。。是因为wmic命令的结果末尾会有“隐形的类似【换行】或【TAB】的显示”,需要用(for、call、echo)三个命令配合过滤一下。以8楼的代码再做一下改进。
  1. @echo off
  2. for /f "tokens=2 delims==" %%i in ('wmic CPU get ProcessorID /value ^| findstr "ProcessorId"') do (
  3.     set str=%%i
  4. )
  5. ::增加下面这行来过滤wmic命令结果末尾的“换行”。
  6. for /f "delims=" %%a in ('call echo %str%') do set str=%%a
  7. echo %str%
  8. pause
复制代码

TOP

返回列表