如何使用 PowerShell 复制具有特定扩展名的文件?


要使用 PowerShell 复制具有特定文件扩展名的文件,我们可以使用 Copy-Item 命令。

以下命令将仅从源复制 .ps1 文件到目标。

例如,

PS C:\> Copy-Item -Path C:\Temp -Recurse -Filter *.ps1 -Destination C:\Temp1\ -Verbose

如果不存在 C:\Temp1,它将创建目标文件夹,然后复制文件内容,但此命令的问题在于它也会复制不包含 .ps1 文件的子文件夹。

因此,要复制具有相同文件夹结构的文件,排除空目录和特定文件扩展名,我们可以编写代码来检查复制后的目录大小,如果文件夹为空,则删除文件夹,但这将是一个很长的过程。

我们可以使用 xCopyRoboCopy 命令来解决上述问题。

PS C:\> robocopy c:\temp c:\temp1 "*.ps1" /s

上述命令将从 C:\temp 复制具有扩展名 .ps1 的文件到 C:\temp1,不会复制空文件夹。

更新时间:2021-5-17

1000+ 浏览量

开启你的 职业

通过完成课程获得认证

开始
广告