Board logo

标题: [文本处理] 批处理如何从服务器文件夹中搜索内容包含某字符串的文件名,并生成TXT文件 [打印本页]

作者: alick    时间: 2022-5-7 10:14     标题: 批处理如何从服务器文件夹中搜索内容包含某字符串的文件名,并生成TXT文件

各位老师:

如何从服务器文件夹及子文件夹中搜索所有TXT文件中内容包含特定字符串的文件名,并将相关文件名记录到新的TXT文件中,例如:

服务器地址:
\\192.168.11.123\QR123    (注:在QR123文件夹下有很多TXT文件,并且分布当前目录及多层子目录中)

需求:提取其中txt文件内容含字符串“A358047”的TXT文件名称,将获取的文件名列表在本地(如D\123\下)生成一个新TXT文件(只是文件名,不包含路径)

目录下包含文件较多,单单TXT文件有近10万个,希望能有快捷的方法,感谢各位老师的帮助!

万分感谢!
作者: Batcher    时间: 2022-5-7 16:52

回复 1# alick


test_1.bat
  1. @echo off
  2. net use Z: \\192.168.11.123\QR123
  3. findstr /m /s /l "A358047" "Z:\*.txt" >"D:\123\New.txt"
复制代码

作者: Batcher    时间: 2022-5-7 16:53

回复 1# alick


test_2.bat
  1. @echo off
  2. net use Z: \\192.168.11.123\QR123
  3. findstr /m /s /l "A358047" "Z:\*.txt" >"D:\123\New.txt"
  4. (for /f "delims=" %%i in ('type "D:\123\New.txt"') do (
  5.     echo,%%~nxi
  6. ))>"D:\123\New2.txt"
复制代码

作者: alick    时间: 2022-5-7 20:40

回复 3# Batcher


    感谢老师,可以实现需要的结果,但速度很慢,有更快的方式吗?
作者: Batcher    时间: 2022-5-7 23:50

回复 4# alick


    你测试的是哪一个代码?
作者: alick    时间: 2022-5-8 18:14

回复 5# Batcher

两个代码都测试了,都比较慢,可以不通过映射的方式吗?
作者: Batcher    时间: 2022-5-8 19:09

回复 6# alick


    两个代码分别耗时多少?
作者: alick    时间: 2022-5-8 22:23

回复 7# Batcher


    3~5分钟




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2