Power shell脚本,用于将具有特定名称和特定扩展名的文件复制到执行脚本的文件夹

时间:2015-05-22 10:37:50

标签: powershell powershell-v2.0

所有

我的目的是以名称' US.Services'开头复制所有文件。并且扩展名.dll从目录及其子目录到正在执行脚本的地方,我有以下内容但没有任何内容被复制。任何帮助将不胜感激。

Get-Childitem -Path ".\.\" -Filter *US.Services*.dll -Recurse | 
    Copy-Item -Destination "." 

谢谢-Nen

1 个答案:

答案 0 :(得分:1)

由于PowerShell v3可以使用$PSScriptRoot自动变量来引用保存脚本的位置(在PowerShell v2中为$here = $MyInvocation.MyCommand.Path | Split-Path

请注意,这两种方法仅在脚本执行时才有效,如果您只是将它们粘贴到PowerShell控制台,它们将不会返回任何值。

如果我正确理解您的问题,您会查找以给定字符串开头并以扩展名结尾的文件,因此您需要在此处使用*通配符:US.Services*.dll

Get-Childitem -Path $PSScriptRoot -Recurse -Filter "US.Services*.dll" |
    Copy-Item -Destination $PSScriptRoot

如果将具有相同名称的文件复制到单个目录,则可能会产生异常,因为在单个目录中不能将两个文件命名为相同。