Board logo

标题: 请教纯DOS下读取txt文件内容至变量 [打印本页]

作者: NaturalJ0     时间: 2006-8-15 16:21    标题: 请教纯DOS下读取txt文件内容至变量

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

[ Last edited by NaturalJ0 on 2006-8-15 at 16:22 ]
作者: chenall     时间: 2006-8-16 16:08
建议先搜一下论坛.好像有许多介绍的.
可以使用LMOD,strings等程序.
作者: BAT     时间: 2006-8-16 23:04
是否可以不用三方工具来实现读取文件内容至变量
作者: vkill     时间: 2006-8-22 12:13
看你的文件内容是什么?
作者: piziliu2004     时间: 2006-8-22 18:14
建议自己用tc做一个小tool. 很简单的十几行代码就可实现.
作者: NaturalJ0     时间: 2006-8-22 22:31


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

我后来就是这么做的。
作者: vkill     时间: 2006-8-25 12:06
把你的txt文件内容帖出来,想把什么做为变量,给你批处理,不用第三方软件的
作者: wang6610     时间: 2006-8-27 22:37


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

我后来就是这么做的。

能把它帖出来吗?
作者: wang6610     时间: 2006-8-27 22:40


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



  Quote:
username
password

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


谢谢!
作者: NaturalJ0     时间: 2006-8-27 23:59


  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 ]
作者: wang6610     时间: 2006-8-28 07: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变量的名字是什么?
作者: NaturalJ0     时间: 2006-8-28 08:31
PASSWORD.EXE 没赋。
要赋的话自己根据状态赋好了。
作者: vkill     时间: 2006-8-28 12:58
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
作者: wang6610     时间: 2006-9-1 15:41


  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 ]
作者: namejm     时间: 2006-9-1 16:01


  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 ]
作者: NaturalJ0     时间: 2006-9-1 17:14


  Quote:
Originally posted by he200377 at 2006-8-28 12:58:
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. ...

这段代码我没看明白,完成什么功能了?能给我说明下么。
作者: electronixtar     时间: 2006-10-18 00:03
搜索,搜索,搜索再搜索

http://www.cn-dos.net/forum/view ... 0%E5%8F%A5%E8%AF%9D
作者: done     时间: 2006-10-18 00:47
关注
作者: lxmxn     时间: 2006-10-18 01:21


  Quote:
Originally posted by NaturalJ0 at 2006-9-1 17:14:


这段代码我没看明白,完成什么功能了?能给我说明下么。

我也没怎么看懂?

  干嘛要建立username.bat和password.bat文件,然后不调用他们而直接把他们删除呢?

作者: NaturalJ0     时间: 2006-10-18 05:26


  Quote:
Originally posted by he200377 at 2006-8-28 12:58:
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. ...

当时没看懂,现在过了N天了,回头来看,才发现经典。