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


要使用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 File(s) copied

开关。

/s – 指定子文件夹

/e – 指定空目录

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

/f – 显示源和目标。

/y – 无需用户确认即可复制。

更新于:2021年3月18日

9K+浏览量

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.