如何使用 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 – 确认,无需询问用户提示。

