Board logo

标题: 关于SET赋值 [打印本页]

作者: 313885174     时间: 2009-4-15 01:18    标题: 关于SET赋值

for /l %%i in (1,1,50) do echo %%i.5>>1.txt
for /f %%i in (1.txt) do (
set aa=%%i
set bb=%aa:.=10.%
echo %bb%>>2.txt
)
@pause

怎么运行到第2个”set bb=%aa:.=10.%“怎么就变成空值了?
。。。。。
作者: Pierre     时间: 2009-4-15 01:56
在for里面,必须要启用延迟变量,直接用%变量不会立即生效

setlocal /?
作者: darkkid     时间: 2009-4-15 02:20
变量延迟

@echo off & setlocal EnableDelayedExpansion
for /l %%i in (1,1,50) do echo %%i.5>>1.txt
for /f %%i in (1.txt) do (
set aa=%%i
set aa=!aa:.=10.!
echo !aa! >>2.txt
)
pause

真不好意思,捺掉了一个>号

[ Last edited by darkkid on 2009-4-15 at 06:06 ]
作者: 313885174     时间: 2009-4-15 02:55
5010.5
???
我想要的结果是把每个数字用set bb=%aa:.=10.%替换后输出到2.TXT里
也就是说1.5输出110.5````
作者: 313885174     时间: 2009-4-15 03:19
解决了```谢谢