1

我想使用powershell脚本将所有文件和子文件夹从一个文件夹复制到另一个我尝试在powershell上使用“get-help copy-item”,它说我可以使用-Exclude复制项目以排除我不想的文件复制。所以我正在使用以下脚本

param($SourceDir,$OutDir)
$TempDir=$OutDir
$TestFiles = get-childitem $SourceDir -exclude *.ps1 -recurse
$TestFiles = Get-ChildItem $SourceDir -recurse -Exclude *.txt
Copy-Item $SourceDir $TempDir -recurse -Exclude *.txt

但是当我看到指向 bu $OutDir 的文件夹时,我看到所有文件,包括 .txt 文件都被复制过来了。此外,当我使用 Powershell ISE 进行调试时,我看到 $TestFiles 对象没有任何 .txt 文件。

你能告诉我我使用 Copy-Item 的方式是否有任何问题,或者建议是否有其他方法可以使用 powershell 复制子文件夹和文件?

谢谢你

4

1 回答 1

0

这里的问题是您告诉它将一个目录复制到另一个目录。相反,告诉 powershell 复制目录中的所有内容,这样它实际上会遍历每个文件,并排除 txt 文件。

Copy-item $SourceDir\* $TempDir -exclude *.txt

我猜 recurse 参数在这种情况下实际上并没有做你可能期望它做的事情:Copy-Item

于 2014-07-21T19:52:08.830 回答