【发布时间】:2018-10-17 15:25:24
【问题描述】:
我正在尝试编写一个脚本,它将源路径作为输入并复制自给定日期以来已更改的所有文件,包括它们的目录结构:
param([string]$source,[string]$datum)
(Get-ChildItem $source -Recurse | Where-Object { $_.LastWriteTime -ge $datum }) | Copy-Item -Destination C:\tmp -Recurse
它有效。问题是,它复制了文件,包括它们的目录结构,但它还将所有文件从源目录复制到目标文件夹的基本路径。
错误在哪里?
【问题讨论】:
-
此外,它会将所有子文件夹作为直接子文件夹复制到目标目录的基本文件夹:/
-
我们都是这里的脚本爱好者,但有时最好使用本机执行此操作的工具,而不是尝试从头开始,好吧,除非它是一种学习努力。改用 Robocopy,因为这种东西是它的设计目的,它内置在操作系统中,您可以直接使用它或从脚本中调用它。在性能方面,robocopy 也比 Copy-Item 快。
-
@postanote:如果我可以使用 robocopy,我会的! ;)
-
为什么 robocopy 在这种情况下没有帮助?
-
福兰德,明白了。 ;^}
标签: powershell