中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 大家帮我看看这个p错在哪里?
« [1] [2] [3] »
作者:
标题: 大家帮我看看这个p错在哪里? 上一主题 | 下一主题
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『楼 主』:  大家帮我看看这个p错在哪里?

@echo off

for /f "delims=" %%i in ('findstr /x /b "我 你 有" test1.txt') do echo %%i

pause


本意,是想查找txt文件中,含 有“我”或“你”,或“有”这三个字,只要txt中任意一行,含有以上的三个字中的一个,就显示出来
??

2007-2-11 22:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




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

再想办法吧。

[ Last edited by ccwan on 2007-2-11 at 11:30 PM ]



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




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 3 楼』:  

有知道的,帮我改一下,我是弄不出来了


2007-2-11 23:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 4 楼』:  

@echo off
set a=我
set b=你
set c=有
for /f "delims=" %%i in ('findstr /i %a% test1.txt') do echo %%i
for /f "delims=" %%i in ('findstr /i %b% test1.txt') do echo %%i
for /f "delims=" %%i in ('findstr /i %c% test1.txt') do echo %%i
pause
是这样的,但好像代码太长了,能不能精简一下?
在有,我想在显示的句子前面加一个它所在txt中的行号,如何能做到?

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




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

你这样的话,输出的内容和原来文件内容的顺序就不一样了,不是吗?不考虑顺序吗?



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




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

不考虑,只要能输出句子,和它所在行的行号,重复也没有关系
txt文件内容如下‘
dim a
set a=CreateObject("Wscript.Shell")
Do
a.run "11.exe"
Wscript.Slleep 60000
Loop
最美的十大精典爱情句子

    1) I love you not because of who you are, but because of who I am when I am with you.
   
    我爱你,不是因为你是一个怎样的人,而是因为我喜欢与你在一起时的感觉。

    2) No man or woman is worth your tears, and the one who is, won't make you cry.
   
     没有人值得你流泪,值得让你这么做的人不会让你哭泣。

    3) The worst way to miss someone is to be sitting right beside them knowing you can't have them.
   
    失去某人,最糟糕的莫过于,他近在身旁,却犹如远在天边。

    4) Never frown, even when you are sad, because you never know who is falling in love with your smile.
   
    纵然伤心,也不要愁眉不展,因为你不知是谁会爱上你的笑容。

    5) To the world you may be one person, but to one person you may be the world.

    对于世界而言,你是一个人;但是对于某个人,你是他的整个世界。

    6) Don‘t waste your time on a man/woman, who isn't willing to waste their time on you.

    不要为那些不愿在你身上花费时间的人而浪费你的时间。

    7) Just because someone doesn't love you the way you want them to, doesn't mean they don't love you with all they have.

    爱你的人如果没有按你所希望的方式来爱你,那并不代表他们没有全心全意地爱你。

    8) Don't try so hard, the best things come when you least expect them to.

    不要着急,最好的总会在最不经意的时候出现。

    9) Maybe God wants us to meet a few wrong people before meeting the right one, so that when we finally meet the person, we will know how to be grateful.

    在遇到梦中人之前,上天也许会安排我们先遇到别的人;在我们终于遇见心仪的人时,便应当心存感激。

    10) Don't cry because it is over, smile because it happened.

    不要因为结束而哭泣,微笑吧,为你的曾经拥有。
如何能过滤掉空格,也是个问题呀

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




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

既然不要原来顺序,还要行数?
如不要行数,我有代码给你



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





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

语法就不正确怎么感觉

2007-2-12 01:16
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





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

还不如直接type .txt|findstr

2007-2-12 01:17
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




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

要原来的顺序,要不,怎么确定它的行号?
这个p的意思是,查找特定的”字“,然后显示出,它所在的语句,并显示出语句在txt中的行号。

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




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

版主不是给过你代码吗?在群里。那个是最简单有效的了。



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





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 12 楼』:  

@echo off
for /F "tokens=1,2,3 delims= " %%i in ("我 你 有") do (
findstr %%i 1.txt
findstr %%j 1.txt
findstr %%k 1.txt
)



上面也麻烦了

@echo off
findstr "我" 1.txt &&findstr "你" 1.txt &&findstr "有" 1.txt
pause

   此帖被 +8 点积分        点击查看详情   
评分人:【 anqing 分数: +8  时间:2007-2-12 12:58


2007-2-12 02:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 13 楼』:  

'findstr /x /b "我 你 有" test1.txt'

findstr的连续查询貌似不支持中文!!!!

findstr  "you love 我 cry" test1.txt
就可以看出,you love cry的可以显示,但是我的不能显示出来.

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




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

^_^


@echo off
for /f "delims=" %%i in ('findstr /n .* test1.txt') do echo %%i>>test.txt
findstr /i "我 你 有" test.txt
del test.txt&pause
namejmWengierdoscctv

   此帖被 +8 点积分        点击查看详情   
评分人:【 anqing 分数: +8  时间:2007-2-13 12:26




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





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 15 楼』:  

忘了/i 了怪不得

你们为什么搞那么麻烦?


findstr /i "我 你 有" test1.txt

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


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



论坛跳转: