对于在批处理文件中进行值操作的循环

时间:2014-02-17 08:53:43

标签: batch-file

FOR /F "tokens=1-7 delims=," %%G IN (C:\Users\asian\Desktop\FOR_LOOP\1sv1.csV) do echo %%G,%%H,%%I >> 1.csv

输出:

20030701,1001,456.000000 
20030701,1002,459.000000 
20030701,1003,450.000000 
20030701,1004,456.000000 
20030701,1005,459.000000 

我的查询是我要为%%I variable(456.000000)划分值 输出应该是这样的:

20030701,1001,228.000000 
20030701,1002,229.5.000000 
20030701,1003,225.000000 
20030701,1004,228.000000 
20030701,1005,229.5.000000 

1 个答案:

答案 0 :(得分:1)

setlocal enabledelayedexpansion
(FOR /F "tokens=1-7 delims=," %%G IN (C:\Users\asian\Desktop\FOR_LOOP\1sv1.csV) do (
    set /a "i=%%I*5"
    echo %%G,%%H,!i:~0,-1!.!i:~-1!00000
)) > 1.csv
endlocal

批处理算术没有小数。因此,为了处理它,将该值乘以10(以获得一个附加位置)并除以2(来自OP)。然后,该值被分割为最后一位是第一个小数。