我正在尝试编写一个脚本,将源文件夹中的所有文件复制到另一个文件夹,但不包含文件夹结构,而只包含文件。
到目前为止我已经:
robocopy "<source>" "<target>" /s /copyall
例如:我有 C:\1\2\3.txt 和 C:\4\5\6.jpg 而我的目标中我只想要 D:\target\3.txt 和 D:\target\6.jpg
有任何想法吗?
答案1
正如评论中所述,您可以使用 Powershell 轻松实现这一点:
Get-ChildItem -Recurse -File -Filter "*.txt" $source |
Where-Object { $_.LastAccessTime -gt (get-date -date "2018-12-01 00:00:00") } |
Copy-Item -Destination $target
它将Get-ChildItem
递归运行,仅查找与过滤器匹配的文件*.txt
。然后,根据文件属性过滤结果LastAccessTime
,仅保留日期 X 之后的文件。结果将通过管道传输到Copy-Item
。
当然,您也可以在最后运行 robocopy,但这会变得非常多余。