Board logo

标题: [数值计算] [已解决]批处理如何使用带,的数值运算 [打印本页]

作者: yangyong353    时间: 2021-1-26 15:44     标题: [已解决]批处理如何使用带,的数值运算

本帖最后由 yangyong353 于 2021-1-28 13:07 编辑

比如使用下面的语句运算
for /f "tokens=5 delims= " %1 in ('tasklist^|findstr /i "explorer"') do (
        set /a mb=1*%1/1024
)
运算结果是不对的,变量%mb%的值会变成逗号前面的数值,这个该怎么处理呢
作者: Batcher    时间: 2021-1-26 16:29

回复 1# yangyong353
  1. @echo off
  2. for /f "tokens=5 delims= " %%i in ('tasklist^|findstr /i "explorer"') do (
  3.     set "kb=%%i"
  4. )
  5. set kb=%kb:,=%
  6. echo %kb%
  7. set /a mb=kb/1024
  8. echo %mb%
  9. pause
复制代码
建议不要使用 %1 这样的数字作为for循环的控制变量,以免跟位置变量混淆。
作者: 459500160    时间: 2021-1-26 20:43

%%不应该是这么写变量的吗?
作者: yangyong353    时间: 2021-1-27 16:33

回复  yangyong353 建议不要使用 %1 这样的数字作为for循环的控制变量,以免跟位置变量混淆。
Batcher 发表于 2021-1-26 16:29



    感谢大佬,问题解决了
作者: yangyong353    时间: 2021-1-27 16:33

回复 3# 459500160


    在CMD下直接运行只要一个%




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2