如何使用 PowerShell 复制具有特定扩展名的文件?
要使用 PowerShell 复制具有特定文件扩展名的文件,我们可以使用 Copy-Item 命令。
以下命令将仅从源复制 .ps1 文件到目标。
例如,
PS C:\> Copy-Item -Path C:\Temp -Recurse -Filter *.ps1 -Destination C:\Temp1\ -Verbose
如果不存在 C:\Temp1,它将创建目标文件夹,然后复制文件内容,但此命令的问题在于它也会复制不包含 .ps1 文件的子文件夹。
因此,要复制具有相同文件夹结构的文件,排除空目录和特定文件扩展名,我们可以编写代码来检查复制后的目录大小,如果文件夹为空,则删除文件夹,但这将是一个很长的过程。
我们可以使用 xCopy 或 RoboCopy 命令来解决上述问题。
PS C:\> robocopy c:\temp c:\temp1 "*.ps1" /s
上述命令将从 C:\temp 复制具有扩展名 .ps1 的文件到 C:\temp1,不会复制空文件夹。
广告