|
alfredhou
初级用户
积分 100
发帖 34
注册 2006-4-5
状态 离线
|
『第
16 楼』:
3楼的大哥不好意思,我原先没看懂,现在弄明白了,你的是可以执行的。但我现在还是不懂得如何去引用变量的值。我目的是想这样:
先在a.txt中读一行,然后在b.txt中搜索,如果没有这行的内容则添上去,有的话就略过。我发觉是我原先没有表达得准确。对不起。
另外,你提到可以用goto循环,我有点明白其中的思路,也就是先读取一行,然后针对性地跳到相应的程序段。但现在我的问题是我根本不知道如何才可以读取a.txt中的一行?
用FOR是读遍了才停的,我该怎么办?
先谢谢你啦
|
|
2006-4-5 15:17 |
|
|
Climbing
铂金会员
网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第
17 楼』:
是啊,很多时候把问题描述清楚是很重要的,如果你不知道如何描述问题的解决步骤,就把你想做什么说清楚。
|
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2006-4-5 18:09 |
|
|
3742668
荣誉版主
积分 2013
发帖 718
注册 2006-2-18
状态 离线
|
『第
18 楼』:
不是我不明白,而是这楼主变幻太快。。
呵呵,你的要求变化得大。。
不想用type的话那就试试findstr+type:
findstr /v /g:b.txt a.txt >>tmp.txt
type tmp.txt >> b.txt
未经测试,理论上行得通,我想这个方法相比前面的那个方法更适合你。
|
|
2006-4-5 20:57 |
|
|
wang6610
银牌会员
积分 1246
发帖 488
注册 2003-11-11
状态 离线
|
|
2006-4-6 01:09 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
20 楼』:
Re 3742668:
估计楼主的变量,并非指环境变量,而是指for的替换变量,这样就好理解了。
另外,你的代码确实富于技巧性,稍加修改即可用于提取文本中的指定行,是一个具有普遍意义的算法。
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-4-6 03:07 |
|
|
alfredhou
初级用户
积分 100
发帖 34
注册 2006-4-5
状态 离线
|
『第
21 楼』:
re:3742668
RE:3742668
大哥,谢谢你!我测试过你的方法,事实证明是可行的!万分感谢!
此外,我在测试的时候遇到一些总是问题:
1) 如果a.txt和b.txt原先都是有内容的话,那运行第一次时结果是和预期目标一致的,但再运行多一次就不一致了。我后来发现是因为tmp.txt第一次是空的,而第二次则有内容了。于是我在你的代码后面加了一条:del tmp.txt
2)如果b.txt原先是全空没有内容的话,那么运行批处理之后它仍然是全空没有内容的,也就是说达不到预期的目标。当然,我可以事情加入一行毫不相干的内容,那就可以达到我的预期目标。但我觉得那不是正道。
请问你有什么更好的解决方法吗?
|
|
2006-4-6 16:37 |
|
|
alfredhou
初级用户
积分 100
发帖 34
注册 2006-4-5
状态 离线
|
『第
22 楼』:
RE:willsort
RE:willsort
版主你好!
你说稍加改造可以提取指定的行,可以予以明示吗?我是一个新手,实在想不出来怎么才可以实现这个目标?
findstr /v /g:b.txt a.txt >>tmp.txt
type tmp.txt >> b.txt
请告诉我改造后的代码吗?
谢谢
|
|
2006-4-6 16:42 |
|
|
3742668
荣誉版主
积分 2013
发帖 718
注册 2006-2-18
状态 离线
|
『第
23 楼』:
寒一个先。
其实你想实现的东东几篇回贴里面都有了,只不过你没能把它们结合起来而已。
关于你的问题:
1) 这个不算问题。
2) 用set /p tmpvar=<b.txt来获得,然后用if defined tmpvar来判断是否为空
最后,再汗一个,willsort说的稍加改造并非指的是type+findstr的那段,而是前面的for,呵呵,建议你多翻翻老贴多运行command /?。
|
|
2006-4-6 18:34 |
|
|
ke
新手上路
积分 4
发帖 2
注册 2006-9-28
状态 离线
|
『第
24 楼』:
好帖,3742668版主真是热心!
|
|
2006-10-2 17:08 |
|