中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教纯DOS下读取txt文件内容至变量
« [1] [2] »
作者:
标题: 请教纯DOS下读取txt文件内容至变量 上一主题 | 下一主题
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『楼 主』:  请教纯DOS下读取txt文件内容至变量

我翻了些论坛的帖,发现FOR在纯DOS下功能不够用。又有达人提到使用第三方软件或其它方法。能给小弟一个第三方软件和简单使用方法吗?非常感谢。

[ Last edited by NaturalJ0 on 2006-8-15 at 16:22 ]

2006-8-15 16:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chenall
银牌会员




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

建议先搜一下论坛.好像有许多介绍的.
可以使用LMOD,strings等程序.



QQ:366840202
http://chenall.net
2006-8-16 16:08
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子  回复  引用回复
BAT
初级用户




积分 177
发帖 52
注册 2006-6-4
状态 离线
『第 3 楼』:  

是否可以不用三方工具来实现读取文件内容至变量

2006-8-16 23:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 4 楼』:  

看你的文件内容是什么?

2006-8-22 12:13
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
piziliu2004
中级用户

过度热情


积分 321
发帖 139
注册 2006-3-21
状态 离线
『第 5 楼』:  

建议自己用tc做一个小tool. 很简单的十几行代码就可实现.

2006-8-22 18:14
查看资料  发送邮件  发短消息 网志  OICQ (16750931)  编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by piziliu2004 at 2006-8-22 18:14:
建议自己用tc做一个小tool. 很简单的十几行代码就可实现.

我后来就是这么做的。

2006-8-22 22:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 7 楼』:  

把你的txt文件内容帖出来,想把什么做为变量,给你批处理,不用第三方软件的

2006-8-25 12:06
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
wang6610
银牌会员




积分 1246
发帖 488
注册 2003-11-11
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by NaturalJ0 at 2006-8-22 10:31 PM:

我后来就是这么做的。

能把它帖出来吗?

2006-8-27 22:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wang6610
银牌会员




积分 1246
发帖 488
注册 2003-11-11
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by he200377 at 2006-8-25 12:06 PM:
把你的txt文件内容帖出来,想把什么做为变量,给你批处理,不用第三方软件的



  Quote:
username
password

就这两行,批处理该怎么写?


谢谢!

2006-8-27 22:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by wang6610 at 2006-8-27 22:37:


能把它帖出来吗?

好的。
我原来是想要个密码功能,自己用 TC 写了个,在这里。
http://zhenlove.com.cn/cndos/fileup/files/PASSWORD.rar
里面是 PASSWORD.EXE
运行时在同目录查找 PASSWORD.TXT ,并读取其内容为原始密码。
读取时从文件开始读取至第一个回车,回车前可以有空格和符号等。
然后要求用户输入密码与原始密码进比较。
如果相同,在同目录生成 PASSWORD.OK 文件。
如果不同,在同目录生成 PASSWORD.ERR 文件。
以上两种情况属正常运行,都会再生成一个 PASSWORD.RUN 文件,若用户按 Ctrl + C 强制中断,则此文件将不会生成。

使用时可以在 BAT 中使用 echo "Your Password">PASSWORD.TXT 来设置原始密码。
然后根据三个状态文件的生成情况判断处理。连续使用的时候时要自己删除状态表示文件。

[ Last edited by NaturalJ0 on 2006-8-28 at 00:01 ]

2006-8-27 23:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wang6610
银牌会员




积分 1246
发帖 488
注册 2003-11-11
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by NaturalJ0 at 2006-8-27 11:59 PM:

好的。
我原来是想要个密码功能,自己用 TC 写了个,在这里。
http://zhenlove.com.cn/cndos/fileup/files/PASSWORD.rar
里面是 PASSWORD.EXE
运行时在同目 ...

PASSWORD.EXE它把读取的字串赋予给dos变量的名字是什么?

2006-8-28 07:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 12 楼』:  

PASSWORD.EXE 没赋。
要赋的话自己根据状态赋好了。

2006-8-28 08:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 13 楼』:  

namepass.txt
username
password


*.bat
echo set username=%%0 >username.bat
echo set password=%%0 > password.bat
find namepass.txt /i "username" >temp1.bat
find namepass.txt /i "password" >temp2.bat
call temp1.bat
call temp2.bat
del /q username.bat
del /q password.bat
del /q temp1.bat
del /q temp2.bat
echo %username% >>x.txt
echo %password% >>x.txt


不知道这样表达对不对
namepass.txt要是如下,则set 那就改为%%1
namepass.txt
username abc
password 123


namepass.txt要是如下,文件名中不让用:,我想可以用有个帖子的方法,大概是echo !%name:~0,-1%_ ! ,就是去掉:加一个空格,这样可以改为和上面的那个一样
namepass.txt
username:abc
password:123

2006-8-28 12:58
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
wang6610
银牌会员




积分 1246
发帖 488
注册 2003-11-11
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by he200377 at 2006-8-28 12:58 PM:
namepass.txt
username
password


*.bat
echo set username=%%0 >username.bat
echo set password=%%0 > password.bat
find namepass.txt /i "username" >temp1.bat
find namepass. ...



namepass.txt
username:abc
password:123

谢谢!

abc

123

它们后面多了两个空格,如何不让它多啊?  谢谢!

[ Last edited by wang6610 on 2006-9-1 at 15:44 ]

2006-9-1 15:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 15 楼』:  



  Quote:
Originally posted by wang6610 at 2006-9-1 15:41:

谢谢!

abc

123

它们后面多了两个空格,如何不让它多啊?  谢谢!

[ Last edited by wang6610 on 2006-9-1 at 15:44 ]

  把echo set username=%%0 >username.bat 改写成 echo (set username=%%0)>username.bat 或者 >username.bat echo set username=%%0

[ Last edited by namejm on 2006-11-5 at 12:21 PM ]



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-9-1 16:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: