将特定文件类型从多个子文件夹复制到一个文件夹中

将特定文件类型从多个子文件夹复制到一个文件夹中

我想将包含多个子文件夹的所有 csv 文件复制到一个文件夹中。但我只想要不超过 30 天的文件。

这是我目前所拥有的:

for /R C:\Source %%f in (*.csv) do copy %%f U:\Target

我知道 robocopy 有更多的可能性,但我无法在我的代码中使用 robocopy:

for /R C:\Source %%f in (*.csv) do robocopy %%f U:\Target

答案1

您可以使用该forfiles命令,其中有指定最短日期的选项。

forfiles /p C:\Source /m *.csv /s /c "cmd /c copy @path U:\Target" /d 22-10-2019

不幸的是,没有办法指定“不早于 [n] 天的文件”,这就是我使用硬编码日期的原因。

答案2

这对你有用:

for /f "tokens=* delims= " %%a in ('forfiles /p SourcePath /m *.csv /s /c "cmd /c echo @path" /d -30') do copy "%%~a" TargetPath

相关内容