中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请问如何在DOS下提取文本中的字段?(已解决)
« [1] [2] »
作者:
标题: 请问如何在DOS下提取文本中的字段?(已解决) 上一主题 | 下一主题
g4rr
初级用户





积分 68
发帖 32
注册 2007-1-24
来自 广东潮州
状态 离线
『楼 主』:  请问如何在DOS下提取文本中的字段?(已解决)

比如在A.TXT中内容是:OPEN=QQ.EXE
能不能在DOS下提取"QQ",也就是程序名称?然后输出到另一文本,显示:A.TXT文本中所包括的程序名为:QQ.EXE?
输出的没什么技术含量,主要是想问DOS下有没有像高级语言中的截取字符段的功能?
多谢指教!

下午偶然看到这个论坛,一上来看了几个钟的帖,感觉真不错.特别是各位版主的热情与真诚实在令我感动.谢谢你们.继续加油哦!我P批处理刚起步,很想学好.希望各位大哥们多多指教...不胜感激!

[ Last edited by g4rr on 2007-1-24 at 04:18 AM ]

2007-1-24 05:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  


@echo off
for /f "delims== tokens=2" %%a in (A.txt) do set a=%%a
echo A.TXT文本中所包含的程序名为%a% >B.txt
start notepad B.txt
exit/b


[ Last edited by lxmxn on 2007-1-23 at 05:35 PM ]

2007-1-24 06:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
happy3
初级用户





积分 45
发帖 23
注册 2007-1-24
状态 离线
『第 3 楼』:  

学习,谢谢!!!!!

2007-1-24 06:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kafen
初级用户





积分 97
发帖 43
注册 2005-7-25
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by lxmxn at 2007-1-24 06:10:
[code]
@echo off
for /f "delims== tokens=2" %%a in (A.txt) do set a=%%a
echo A.TXT文本中所包含的程序名为QQ.EXE >B.txt
start notepad B.txt
exit/b
[/co ...

好象楼主说的意思跟你所表达的不一样呀?你是指定了只能输出为QQ.exe。

2007-1-24 06:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 5 楼』:  

原来楼主是要在假dos(cmd)下的代码啊!



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2007-1-24 06:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 6 楼』:  

2楼代码:
@echo off
for /f "delims== tokens=2" %%a in (A.txt) do set a=%%a
echo A.TXT文本中所包含的程序名为%a% >B.txt
start notepad B.txt
exit/b




三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2007-1-24 06:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 7 楼』:  


@echo off
for /f "delims== tokens=2" %%a in (A.txt) do >B.txt echo A.TXT文本中所包含的程序名为%%~na
exit
多个
@echo off
cd.>B.txt
for /f "delims== tokens=2" %%a in (A.txt) do >>B.txt echo A.TXT文本中所包含的程序名为%%~na
exit


2007-1-24 06:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 8 楼』:  


  不好意思,笔误了,已经改过来啦。


2007-1-24 06:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
g4rr
初级用户





积分 68
发帖 32
注册 2007-1-24
来自 广东潮州
状态 离线
『第 9 楼』:  

哇.刚才去看了其他帖了,回来一刷新居然已经有这么多热心人回了帖.好快啊.快得太快了吧.....真是太感动了.谢谢各位大哥的帮忙..
先回帖表示感谢.内容再仔细研究一下.(没有灌水的意思)

2007-1-24 06:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
g4rr
初级用户





积分 68
发帖 32
注册 2007-1-24
来自 广东潮州
状态 离线
『第 10 楼』:  

嗯.受教了.特别谢谢lxmxn,ccwan,zh159.不过还有几个问题想请教你们
1. zh159的代码中"%%~na"的功能是不是起去掉文件名后缀的作用?
2. 如果A.TXT中有三行分别如下:

A.TXT

open=SETUP.ICO
open=setup.exe
open=sxs.exe
open=c:\windows\run.exe

如果输出所有的程序名(不带路径.并且只输出程序,不带其他文件.例如ICO图标)

3. 如何连同输出各程序的大小?

谢谢了!

[ Last edited by g4rr on 2007-1-23 at 06:32 PM ]

2007-1-24 07:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 11 楼』:  

用zh159的代码
for /f "delims== tokens=2" %%a in (A.txt) do >>B.txt echo A.TXT文本中所包含的程序名为%%~nxa




三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2007-1-24 07:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 12 楼』:  

连同输入各程序的大小代码稍多,我要离开了,今天没有时间了,请别人解决吧,若明天没有别人给出解决方法的话,我再来写。



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2007-1-24 07:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
g4rr
初级用户





积分 68
发帖 32
注册 2007-1-24
来自 广东潮州
状态 离线
『第 13 楼』:  

好.谢谢ccwan!

2007-1-24 07:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 14 楼』:  


  要输出文件的大小,提前是文件必须存在,不知道Open=后面的文件是否存在?


2007-1-24 07:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
g4rr
初级用户





积分 68
发帖 32
注册 2007-1-24
来自 广东潮州
状态 离线
『第 15 楼』:  

如果不存在的话可以输出"此文件不存在".
或者只输出存在文件的大小.其他略过.可以吗?

2007-1-24 07:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: