BAT:复制指定日期后创建的文件
@echo off
REM 指定源目录
set "SrcDir=E:\IRead\批处理大全"
rem 指定目的目录
set "DstDir=D:\result"
REM 指定日期
set "date=2017/01/16"
for /f "delims=" %%a in ('dir /a-d/s/b "%SrcDir%"') do (
for /f "delims= " %%b in ('dir /tc "%%a"^|findstr /r /b "[0-9]"') do if "%%b" gtr "%date%" copy /y "%%a" "%DstDir%"
)
下面再提供一个powershell 脚本,使用方法自行百度。
复制指定日期后创建的文件
$SrcDir="E:\IRead\批处理大全"; #源目录
$DstDir="D:\result"; #目的目录
$SpcDay="2017-09-16"; #2017-09-16前的文件
Get-ChildItem -Path $SrcDir -Recurse -File|Where-Object{$_.CreationTime -gt $SpcDay}|ForEach-Object{Copy-Item -Path $_.FullName -Destination $DstDir -Force}
复制指定N天前的文件
$SrcDir="E:\IRead\批处理大全"; #源目录
$DstDir="D:\result"; #目的目录
$DaysAgo=100; #100天前的文件
Get-ChildItem -Path $SrcDir -Recurse -File|Where-Object{((Get-Date)-($_.CreationTime)).days -gt $DaysAgo}|ForEach-Object{Copy-Item -Path $_.FullName -Destination $DstDir -Force}
@echo off
set split=%date:~4,1%
for /f "tokens=1-3*" %%a in ('dir /a:-d /tc /s ^|findstr "^[0-9][0-9]"') do (
if %%~a gtr 2018%split%03%split%16 copy "%%~d" E:\yh\
)