Board logo

标题: [文件操作] [分享]批处理查找指定日期修改过的文件 [打印本页]

作者: Batcher    时间: 2021-11-11 20:25     标题: [分享]批处理查找指定日期修改过的文件

【问题描述】

求教 怎么查找 指定日期修改过的文件
这样可以:
  1. dir /a /s /tw |find "2021/11/08"
复制代码
有没有参数能显示这个文件的路径?
作者: Batcher    时间: 2021-11-11 20:26

【解决方案】
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /s /a /a-d') do (
  4.     for /f %%j in ("%%~ti") do (
  5.         if "%%j" equ "2021/11/08" (
  6.             echo %%j %%i
  7.         )
  8.     )
  9. )
  10. pause
复制代码

作者: qixiaobin0715    时间: 2021-11-12 09:48

dir一些参数还是未搞明白。
这里/a /a-d是表示:只显示文件不显示目录,隐藏文件也显示。
是吗?
作者: Batcher    时间: 2021-11-12 14:30

回复 3# qixiaobin0715


    看起来第3行的 /a 是多余的,只保留 /a-d 就行了。
作者: ww0000    时间: 2023-3-18 17:12

回复 2# Batcher


    路径能输出到TXT吗?
作者: Batcher    时间: 2023-3-18 19:21

回复 5# ww0000


1.bat
  1. @echo off
  2. cd /d "%~dp0"
  3. (for /f "delims=" %%i in ('dir /b /s /a-d') do (
  4.     for /f %%j in ("%%~ti") do (
  5.         if "%%j" equ "2021/11/08" (
  6.             echo %%j %%i
  7.         )
  8.     )
  9. ))>"Out.txt"
复制代码

作者: Batcher    时间: 2023-3-18 19:22

回复 5# ww0000


2.bat
  1. @echo off
  2. cd /d "%~dp0"
  3. type nul >"Out.txt"
  4. for /f "delims=" %%i in ('dir /b /s /a-d') do (
  5.     for /f %%j in ("%%~ti") do (
  6.         if "%%j" equ "2021/11/08" (
  7.             >>"Out.txt" echo %%j %%i
  8.         )
  9.     )
  10. )
复制代码

作者: ww0000    时间: 2023-3-19 08:43

回复 7# Batcher


    谢谢老师!
if "%%j" gtr "2023/03/11" lss "2023/03/19"  两个日期之间的代码要怎么写?  加上文件类型判断又如何写呢?
作者: Batcher    时间: 2023-3-19 10:42

回复 8# ww0000
  1. @echo off
  2. cd /d "%~dp0"
  3. (for /f "delims=" %%i in ('dir /b /s /a-d *.txt') do (
  4.     for /f %%j in ("%%~ti") do (
  5.         if "%%j" gtr "2023/03/11" (
  6.             if "%%j" lss "2023/03/19" (
  7.                 echo %%j %%i
  8.             )
  9.         )
  10.     )
  11. ))>"Out.txt"
复制代码





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