如何使用 PowerShell 复制特定扩展名的文件?
powershellmicrosoft technologiessoftware & coding
要使用 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
上述命令会将扩展名为 .ps1 的文件从 C:\temp 复制到 C:\temp1,但不复制空文件夹。

