返回列表 发帖

[文本处理] [已解决]怎样在指定目录及子目录下查找含特定字符的文件?

本帖最后由 super1129 于 2011-10-8 09:38 编辑

请问大家要想在e:\abc及其子目录下,查找含有1.txt中的字符串的文件。
1.txt比如包含
abc
123
123.pdf
……
(可能有后缀名)
如果在e:\abc及其子目录下的文件名中找到含有上述字符串的文件(包含即可),并拷贝到D:\123 下,找不到就将1.txt中字符输出到D:\123\error.txt

应该是要用findstr

谢谢


忠心感谢 耐心的guaiwu 、FOR 及 BAT1   
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2

感觉你的需求写得有点乱, 不太理解. 希望补充文件名实例.
再问几个问题.
1. 在你提供的例子中, 有一个文件 ...
hkmhd 发表于 2011-10-3 13:39



1.txt是用来存储我要搜索的字符串的。
一行一个字符串。

TOP

回复 4# hkmhd


    我的主要问题是不能复制e:abc及其子目录下的符合要求的文件。
你的程序中没有体现这个呀

TOP

没发现这段有问题吗?
xcopy e:\abc\*%%a* D:\123 /s /e /y  
第一次:由于没发现定文件夹或文件,输入D选 ...
guaiwu 发表于 2011-10-3 15:40



    谢谢,那请问该如何写bat程序呢?

TOP

回复 8# guaiwu


    谢谢,就是后面那句 如果1.txt中的字符串没有匹配到文件,则输出到error.txt 没有体现。
上面的代码得到的error.txt 中 把e:\abc及其子目录下所有的文件及文件夹都列出来了,不是我要的目的。

我的目的是,1.txt 中字符串如果匹配到文件就复制,匹配不到的就输出至error.txt

TOP

本帖最后由 super1129 于 2011-10-3 22:14 编辑

回复 10# FOR


    谢谢,好像error.txt  并不是所需要的没有匹配到的。
是不是因为 tem.txt 是包含路径的原因,所以导致这个不对呢? /ivg:tem.txt 1.txt

麻烦再看看,谢谢

TOP

本帖最后由 super1129 于 2011-10-3 22:50 编辑
回复  super1129

dir/b/s/a-d "e:\abc\*.*">2.txt
运行上面的,把1.txt 和 2.txt 发附件上来。
FOR 发表于 2011-10-3 22:36


e:\abc  下文件为 123.txt   789.pdf

1.txt  是
123.txt
789.pdf
456.txt


2.txt是
e:\abc\123.txt
e:\abc\789.pdf

TOP

回复 18# BAT1


    谢谢,这个程序用于查找完全匹配的没有问题。也非常好。

但是我希望能实现模糊匹配,就是说 文件名为123456[a].pdf、789[a].doc 之类的,我在1.txt中输入[a] 也要匹配到这两个文件。


不知道有没有办法实现呢?

TOP

回复 19# FOR


没问题了,辛苦了,非常感谢

TOP

返回列表