如何使用PowerShell复制目录中与某些扩展名匹配的所有文件?

如何使用PowerShell复制目录中与某些扩展名匹配的所有文件?,powershell,powershell-3.0,Powershell,Powershell 3.0,我以前用批处理文件做过类似的事情 copy "%APPPATH%\*.exe" "%APPPATH%\*.exe.deploy" 因此,我想将所有.exe文件复制到“.exe.deploy” 因此,如果目录中有以下内容: a.exe b.exe c.foo d.bar 我想以以下方式结束: a.exe b.exe c.foo d.exe a.exe.deploy b.exe.deploy d.exe.deploy 必须有一种优雅的方式来做这件事BONUS我还想指定多个扩展名(*.exe,

我以前用批处理文件做过类似的事情

copy "%APPPATH%\*.exe" "%APPPATH%\*.exe.deploy" 
因此,我想将所有
.exe
文件复制到“.exe.deploy”

因此,如果目录中有以下内容:

a.exe
b.exe
c.foo
d.bar
我想以以下方式结束:

a.exe
b.exe
c.foo
d.exe
a.exe.deploy
b.exe.deploy
d.exe.deploy

必须有一种优雅的方式来做这件事BONUS我还想指定多个扩展名(*.exe,*.txt,*.blob),并在一个命令中完成所有操作。

使用PowerShell,您可以枚举要复制的文件,并将结果导入
复制项
cmdlet:

Get-ChildItem $env:APPPATH -Filter *.exe |
    Copy-Item -Destination { $_.FullName + '.deploy' }
请注意,
-Filter
仅支持单个字符串。如果要传递多个扩展名,则需要使用
-Include
(但这只能与
-Recurse
结合使用):


必须有一种优雅的方式来做这件事乞丐不能挑肥拣瘦
gci*.exe,*.txt |%{copy-L$\\\\$D($\.name+'.deploy')}
@wiskerbiscuit:在请求帮助之前,您尝试了什么Powershell代码?啊,我不知道$管道语法。那有帮助
Get-ChildItem $env:APPPATH -Include *.exe,*.foo -Recurse |
    Copy-Item -Destination { $_.FullName + '.deploy' }