中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 16:02
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 关于SET赋值
可打印版本  803 / 4
第1楼 313885174 发表于 2009-04-15 01:18
中级用户 发帖 100 积分 206
关于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.%“怎么就变成空值了?
。。。。。
第2楼 Pierre 发表于 2009-04-15 01:56
初级用户 发帖 19 积分 30
在for里面,必须要启用延迟变量,直接用%变量不会立即生效

setlocal /?
第3楼 darkkid 发表于 2009-04-15 02:20
初级用户 发帖 12 积分 34
变量延迟

@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 发表于 2009-04-15 02:55
中级用户 发帖 100 积分 206
5010.5
???
我想要的结果是把每个数字用set bb=%aa:.=10.%替换后输出到2.TXT里
也就是说1.5输出110.5````
第5楼 313885174 发表于 2009-04-15 03:19
中级用户 发帖 100 积分 206
解决了```谢谢
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023