本帖最后由 dos大帝 于 2021-10-17 16:57 编辑
- @echo off & setLocal enableDelayedExpansion
-
- goto comment
- 找出创建时间最晚的, 名字完全符合的文件
- 不查找系统文件和隐藏文件
- 创建时间精确到分, 同一分钟创建的文件不做排序
- 随着查找的进行, 所耗内存越来越大, 不建议一下找完全部路径, 可分别输入搜索路径
- 搜索文件名有中文注意bat编码用GKB
- :comment
-
- rem 在下面输入要查找的路径, 文件名及后缀
- set devices="D:\folder\" "E:\"
- set file_name="test.txt"
-
- for %%i in (%devices%) do (
- echo.
- echo start_find %%i
-
- pushd %%i
-
- for /r %%j in (*.*) do (
- if "%%~nxj" == %file_name% (
- echo %%~dpnxj
-
- set find_file=!find_file! "%%j"
- )
- )
-
- popd
- )
-
- for %%i in (%find_file%) do (
- for /f "tokens=1-3,*" %%a in ('dir "%%~i" /tc') do (
- if "%%d" == %file_name% (
- if defined result_str (
- rem 比较时间大小,找出最新创建的
- set new_ytd=%%a
- set new_hm=%%b
-
- set new_time="!new_ytd:~0,4!!new_ytd:~5,2!!new_ytd:~8,2!!new_hm:~0,2!!new_hm:~3,2!"
- set old_time="!result_str:~0,4!!result_str:~5,2!!result_str:~8,2!!result_str:~11,2!!result_str:~14,2!"
-
- if !new_time! gtr !old_time! (
- set result_str=%%a %%b %%~i
- )
- ) else (
- set result_str=%%a %%b %%~i
- )
- )
- )
- )
-
- echo.
- for /f "tokens=1-2,*" %%i in ("!result_str!") do (
- echo create_time: %%i %%j
- echo path: %%k
- )
-
- pause
复制代码
|