[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理如何查找出内容含有指定字符串且修改时间在指定日期时间之后的txt文件

本帖最后由 pcl_test 于 2016-8-6 18:23 编辑

批处理如何提取含有关键字的文件名
文件夹下有很多txt文本,请问如何列出文本内容含有“ABCD”且修改时间>2015-3-1 8:05 文本列表

11.txt
12.txt

答案见4楼

本帖最后由 cobat 于 2015-3-4 10:02 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('findstr /m ABCD *.txt') do (
  3.     set t=%%~ta
  4.     set t=!t:/=!
  5.     set t=!t::=!
  6.     set t=!t: =!
  7.     if !t:~3! gtr 503010805 echo %%a
  8. )
  9. pause
复制代码

TOP

回复 2# cobat

谢谢,就是这样的。
请帮忙改一下,加上需处理文件的路径名
结果输出到a.txt
(bat与a.txt在同一目录,需处理文件在另一目录)
谢谢!

TOP

本帖最后由 cobat 于 2015-3-6 16:57 编辑

回复 3# syqh2010
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set p="目录完整路径"
  4. (for /f "delims=" %%a in ('findstr/mlig:str.txt %p%\*.txt') do (
  5.     set t=%%~ta
  6.     set t=!t:/=!
  7.     set t=!t::=!
  8.     set t=!t: =!
  9.     if !t:~^,4! gtr 2015 echo %%~nxa
  10.     if !t:~^,4! equ 2015 (if !t:~2! gtr 1503010805 echo %%~nxa)
  11. ))>a.txt
  12. pause
复制代码
在bat同目录下新建str.txt
按以下格式写入搜索字符串
  1. A BC
  2. OP: 123
  3. :name: h32
复制代码

TOP

本帖最后由 syqh2010 于 2015-3-5 02:21 编辑

回复 4# cobat

谢谢你,可以达到效果!
只是输出的内容带有路径,如:
E:\test\1.txt

希望输出结果不带路径
1.txt

另外,如果关键字是“A  BC"(有空格),则会提示”无法打开BC",会把路径下的所有文本名都列出来。

TOP

本帖最后由 cobat 于 2015-3-5 14:43 编辑

回复 5# syqh2010
在4楼改了

TOP

回复 6# cobat


谢谢你!我晚点试试。
再麻烦你一下,假如关键字不止一个,如同时含有"A BC"、"OP: 123"、":name: h32"
该如何改,谢谢你!!

TOP

本帖最后由 cobat 于 2015-3-5 15:16 编辑

回复 7# syqh2010


你有几个搜索字符串?

TOP

本帖最后由 syqh2010 于 2015-3-5 15:22 编辑

回复 8# cobat
3个够用了,谢谢,如果方便的话,请给一个多条件的,以后用的着。谢谢!

TOP

返回列表