中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 关于SET赋值 上一主题 | 下一主题
313885174
中级用户





积分 206
发帖 100
注册 2007-7-9
状态 离线
『楼 主』:  关于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.%“怎么就变成空值了?
。。。。。

2009-4-15 01:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Pierre
初级用户





积分 30
发帖 19
注册 2009-4-4
状态 离线
『第 2 楼』:  

在for里面,必须要启用延迟变量,直接用%变量不会立即生效

setlocal /?

2009-4-15 01:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
darkkid
初级用户





积分 34
发帖 12
注册 2009-2-18
状态 离线
『第 3 楼』:  

变量延迟

@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 ]

   此帖被 +4 点积分        点击查看详情   
评分人:【 313885174 分数: +4  时间:2009-5-5 09:03


2009-4-15 02:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
313885174
中级用户





积分 206
发帖 100
注册 2007-7-9
状态 离线
『第 4 楼』:  

5010.5
???
我想要的结果是把每个数字用set bb=%aa:.=10.%替换后输出到2.TXT里
也就是说1.5输出110.5````

2009-4-15 02:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
313885174
中级用户





积分 206
发帖 100
注册 2007-7-9
状态 离线
『第 5 楼』:  

解决了```谢谢

2009-4-15 03:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: