中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-27 08:28
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于SET赋值 查看 763 回复 4
楼 主 关于SET赋值 发表于 2009-04-15 01:18 ·  中国 江西 南昌 电信
中级用户
★★
积分 206
发帖 100
注册 2007-07-09 20:51
18年会员
UID 93566
性别 男
状态 离线
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.%“怎么就变成空值了?
。。。。。
2 发表于 2009-04-15 01:56 ·  中国 上海 普陀区 电信
初级用户
积分 30
发帖 19
注册 2009-04-04 03:50
17年会员
UID 142065
性别 男
状态 离线
在for里面,必须要启用延迟变量,直接用%变量不会立即生效

setlocal /?
3 发表于 2009-04-15 02:20 ·  中国 广东 广州 电信
初级用户
积分 34
发帖 12
注册 2009-02-18 14:07
17年会员
UID 139172
性别 男
状态 离线
变量延迟

@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 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
313885174 +4 2009-05-05 09:03
4 发表于 2009-04-15 02:55 ·  中国 江西 南昌 电信
中级用户
★★
积分 206
发帖 100
注册 2007-07-09 20:51
18年会员
UID 93566
性别 男
状态 离线
5010.5
???
我想要的结果是把每个数字用set bb=%aa:.=10.%替换后输出到2.TXT里
也就是说1.5输出110.5````
5 发表于 2009-04-15 03:19 ·  中国 江西 南昌 电信
中级用户
★★
积分 206
发帖 100
注册 2007-07-09 20:51
18年会员
UID 93566
性别 男
状态 离线
解决了```谢谢
论坛跳转: