使用批处理文件列出最近7天内创建或修改的文件



我正在尝试创建一个批处理文件,该文件将查看文件夹及其子文件夹,并列出在过去7天内创建或修改的任何文件。我只想知道符合条件的文件,而不是文件夹。

我玩过DIR命令,但无论我做什么,它似乎总是列出所有内容。

我在2017年的Stackoverflow中发现了这段代码,看起来很有希望(我玩了DIR开关(,但它似乎没有创建任何输出。

我对批处理文件及其命令的了解非常有限。运行Windows 10。

TIA-

奈杰尔

@echo off
setlocal EnableDelayedExpansion
echo Input the date(dd/mm/yyyy):
set /p compDate=
for /F "tokens=1-3 delims=/" %%a in ("%compDate%") do set compDate=%%c%%b%%a
echo Input the directory:
set /p directory=
SET Exit=%UserProfile%Desktoptest.txt
pushd "%directory%"
(for /F "tokens=1-5*" %%a in ('dir /s /od /tc /a-d') do (
set "fileDate=%%a"
if "!fileDate:~2,1!!fileDate:~5,1!" equ "//" (
for /F "tokens=1-3 delims=/" %%x in ("!fileDate!") do set fileDate=%%z%%y%%x
if !fileDate! geq %compDate% (
set "fileSize=               %%e"
echo %%a  %%b %%c %%d  !fileSize:~-16! %%f
)
)
)) > %Exit%
popd

如果我误解了你,你可以在这里更深入地了解这个主题

forfiles /P FOLDER_PATH /S /D -7

最新更新