2013-07-15 50 views
0

我不能相信这和我找到它一样困难。子文件夹中的powershell更新文件,如果它已经存在

我在服务器共享上有一个文件夹。该文件夹有一些子文件夹,可能包含或不包含我想用最新版本覆盖的文件。

我已经做了很多谷歌搜索&想通下面的命令会得到我我想要的:

Get-ChildItem \\server1\websites\website\xml -Name "description-15240.txt" -Recurse | Copy-Item ".\description-15240.txt" -Destination $_.fullname 

...但事实并非如此。

于是,我打破了命令分解成零部件&找到获取-ChildItem仅返回文件路径FROM的-Name参数即

1 \无限\描述,15240.txt 68 \无限根\描述-15240.txt 79 \无限\描述-15240.txt 80 \无限\描述-15240.txt

而非\ SERVER1 \网站\网站\ XML \ 1 \无限\描述-15240.txt这是我所追求的。

的问题:我无法将Get-ChildItem返回的完整路径 | { $_.FullName }不这样做既不 确实| { $_.Parent }

有人能帮助& possiblly告诉我,如果Copy-Item可能工作以及?

非常感谢,N

回答

0

Name参数只能过滤的文件名,如果你想要的文件使用include参数的完整路径。

Get-ChildItem \\server1\websites\website\xml -include "description-15240.txt" -Recurse | % { Copy-Item ".\description-15240.txt" -Destination $_.fullname } 
+0

这是修复它,谢谢。 – ninety

0

尝试

gci \\server1\websites\website\xml -Name "description-15240.txt" -recurse |%{ convert-path $_.pspath} 
+0

这是正确的吗?我得到一个'Convert-Path:无法将参数绑定到参数'Path',因为当我尝试它时它是空的错误。 – ninety

相关问题