我已经编写了一个Windows批处理文件(例如getFiles.bat),可以获取所选日期范围内的所有文件。
xcopy /S /D:01-10-2011 *.* C:\todaysFiles
我想获取两个日期之间所有文件,包括起始日期和结束日期。
文件扩展名为.cmd或.bat。
我已经编写了一个Windows批处理文件(例如getFiles.bat),可以获取所选日期范围内的所有文件。
xcopy /S /D:01-10-2011 *.* C:\todaysFiles
我想获取两个日期之间所有文件,包括起始日期和结束日期。
文件扩展名为.cmd或.bat。
如果你使用的是Vista/Win7/WinServer2008操作系统,可以使用robocopy
命令,如下所示:
robocopy c:\source c:\destination *.* /MAXAGE:20101231 /MINAGE:20111001
在XP上,除了使用PowerShell等工具,我不确定是否有内置的解决方案。
/MINAGE
和/MAXAGE
是针对修改日期还是创建日期的,请参见https://serverfault.com/questions/419300/robocopy-minage-and-maxage。由于这构成了问题的基础,因此值得一提。 - Jimadinechdir
到要复制的文件所在的文件夹。然后输入下面列出的命令,根据需要更改SET
值。SET DESTINATION=C:\destination
SET DATE_FROM=01/01/2005
SET DATE_TO=01/01/2007
> nul forfiles /S /D +%DATE_FROM% /C "cmd /C if @isdir==FALSE 2> nul forfiles /M @file /D -%DATE_TO% && > con ( echo @path && copy /V @path %DESTINATION% )"
for %%a in (2011 2012 2013 2014 2015 2016 2017) do (
for /f %%i in ('xxcopy i:\podcasts\*.* /LL /ZS /Q /FC /DA:%%a-01-01 /DB:%%a-12-31 ^| find /c /v ""') do echo %%a: %%i
)