中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]批处理从文件读取并赋值到其它变量
作者:
标题: [已解决]批处理从文件读取并赋值到其它变量 上一主题 | 下一主题
nerfg002
初级用户





积分 24
发帖 24
注册 2009-9-21
状态 离线
『楼 主』:  [已解决]批处理从文件读取并赋值到其它变量

我想实现以下功能
比如有1.txt,内容如下(abc是任意长度的不含空格的字符)
a
b
c
我想从这个文本文件中提取a赋值到变量 x  ,提取b赋值到变量 y ,提取 c 赋值到变量 z
请问DX怎样实现?

[ Last edited by nerfg002 on 2009-11-2 at 14:47 ]

2009-10-31 22:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenall
银牌会员




积分 1276
发帖 469
注册 2002-12-23
来自 福建泉州
状态 离线
『第 2 楼』:  

随便写了一下,楼主可以试下。

for /f %%i in (1.txt) do call :赋值 %%i
goto :eof

:赋值
if not defined x (set x=%1 && goto :eof)
if not defined y (set y=%1 && goto :eof)
if not defined z (set z=%1 && goto :eof)



QQ:366840202
http://chenall.net
2009-11-1 00:37
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子  回复  引用回复
nerfg002
初级用户





积分 24
发帖 24
注册 2009-9-21
状态 离线
『第 3 楼』:  

楼上的代码测试不行,能在改下么

2009-11-1 11:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
balinger
中级用户




积分 356
发帖 115
注册 2004-7-27
状态 离线
『第 4 楼』:  

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set k=0
for /f "delims=" %%a in (1.txt) do (
set /a k+=1
if !k!==1 set x=%%a
if !k!==2 set y=%%a
if !k!==3 set z=%%a
)
echo x=%x% y=%y% z=%z%

pause

2009-11-1 16:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenall
银牌会员




积分 1276
发帖 469
注册 2002-12-23
来自 福建泉州
状态 离线
『第 5 楼』:  

我这里测试过的,是正常的。
你的1.TXT需要在当前目录下。



QQ:366840202
http://chenall.net
2009-11-1 17:55
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子  回复  引用回复
nerfg002
初级用户





积分 24
发帖 24
注册 2009-9-21
状态 离线
『第 6 楼』:  

非常感谢你的热心帮助!

2009-11-2 14:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: