如何使用 PowerShell 仅复制更新或较新的文件?

powershellmicrosoft technologiessoftware & coding

要使用 PowerShell 仅复制更新或较新的文件,我们可以使用 Copy-Item,并在脚本中添加一些逻辑,检查目标文件夹中是否存在文件;如果不存在,则复制该文件;如果存在,则比较时间戳并复制最新文件。这会比较棘手,因为我们需要为此编写几行代码。

但是 Windows 支持 xCopy 实用程序,它可以直接复制较新或已更新的文件,并且我们也可以在 PowerShell 中实现此实用程序。

xCopy 使用一个名为 /d 的开关。其实际语法是:

语法

/d [:MM-DD-YYYY]

这意味着,如果指定了日期,它将复制早于该日期的文件和文件夹;如果没有指定任何日期,它将复制所有已更新的文件和文件夹。示例如下。

来源:

C:\DSC

目标:

E\Temp

我们的文件夹结构如下:LabMachine2k16.mof 文件也存在于目标文件夹中,但它是更新后的文件;Test.txt 是新文件;Pagefile 文件夹是新文件夹,但它是空文件夹。

示例

xcopy C:\DSC E:\Temp\ /s /d /e /f /y

输出

PS C:\> xcopy C:\DSC E:\Temp\ /s /d /e /f /y
C:\DSC\LabMachine2k16.mof -> E:\Temp\LabMachine2k16.mof
C:\DSC\Test.txt -> E:\Temp\Test.txt
已复制 2 个文件

开关。

/s – 指定子文件夹

/e – 指定空目录

/d –指定要复制的更新文件

/f – 显示源和目标。

/y – 确认,无需询问用户提示。


相关文章