如何使用PowerShell中的Copy-Item覆盖文件

时间:2014-09-25 11:42:36

标签: powershell

我正在尝试复制文件夹的内容,但有两个文件我想要排除。应将所有内容的其余部分复制到新位置,并覆盖该新位置上的现有内容。

这是我的剧本。如果我的目标文件夹为空,它工作正常,但如果我有文件和文件夹,它不会覆盖它们。

$copyAdmin = $unzipAdmin + "/Content/*"
$exclude = @('Web.config','Deploy')
Copy-Item  -Path $copyAdmin -Destination $AdminPath -Exclude $exclude -Recurse -force

3 个答案:

答案 0 :(得分:17)

据我了解Copy-Item -Exclude,你做得对。我通常做什么,得到1' st然后再做,那么如何使用Get-Item

Get-Item -Path $copyAdmin -Exclude $exclude |
Copy-Item  -Path $copyAdmin -Destination $AdminPath -Recurse -force

答案 1 :(得分:5)

Robocopy旨在通过许多复制选项,文件选择重启等进行可靠复制。

/xf排除文件,/e排除子目录:

robocopy $copyAdmin $AdminPath /e /xf "web.config" "Deploy"

答案 2 :(得分:0)

如何调用.NET Framework方法?

您可以对他们进行任何操作...:

[System.IO.File]::Copy($src, $dest, $true);

$true参数使其被覆盖。