如何在使用PowerShell复制文件时存在目标文件夹时阻止创建其他文件夹

时间:2017-04-21 09:17:24

标签: powershell

我正在尝试将文件夹从本地计算机复制到远程服务器。它可以工作,但如果目标文件夹已经存在,则会在其中创建一个重复的文件夹。

copy-item -Path C:\test -Destination \\server\F$\testpassed -recurse -Force

3 个答案:

答案 0 :(得分:2)

要仅将C:\test内的文件复制到\\server\F$\testpassed文件夹,您需要使用以下命令:

Copy-Item -Path C:\test\* -Destination \\server\F$\testpassed -Recurse

\*是该文件夹中任何内容的通配符,会导致Copy-Item文件夹中的任何内容复制到目标网址。如果您只想要复制特定的文件类型,也可以使用*.txt仅复制txt文件。

修改

我会测试$TARGETDIR的存在,然后根据需要创建它。这样,您只有一个复制命令。

$TargetDir = "\\server\F$\testpassed"
$SourceDir = "C:\test"

if(!(Test-Path -Path $TARGETDIR)) {New-Item -Path $TARGETDIR -ItemType Directory}

Copy-Item -Path "$SourceDir\*" -Destination $TARGETDIR -Recurse

答案 1 :(得分:1)

以下方式使用源路径将解决您的问题

Copy-Item -Path C:\ test *

答案 2 :(得分:0)

尝试

 $Source = Get-childitem C:\test -Recurse

copy-item -Path $Source.FullName -Destination C:\temp -recurse -Force

使用GC停止获取文件夹和内容。