如何使用子文件夹复制文件夹?

时间:2017-05-09 10:52:03

标签: powershell powershell-v2.0 powershell-v3.0

此脚本在PowerShell中完美运行。它复制具有特定类型的所有文件。但是我希望用它来复制文件夹&子文件夹。

$dest  = "C:\example"
$files = Get-ChildItem -Path "C:\example" -Filter "*.msg" -Recurse

foreach ($file in $files) {
    $file_path = Join-Path -Path $dest -ChildPath $file.Name

    $i = 1

    while (Test-Path -Path $file_path) {
        $i++
        $file_path = Join-Path -Path $dest -ChildPath
        "$($file.BaseName)_$($i)$($file.Extension)"
    }

    Copy-Item -Path $file.FullName -Destination $file_path
}

1 个答案:

答案 0 :(得分:33)

PowerTip:使用PowerShell复制项目并保留文件夹结构

来源: https://blogs.technet.microsoft.com/heyscriptingguy/2013/07/04/powertip-use-powershell-to-copy-items-and-retain-folder-structure/

问题:如何使用Windows PowerShell 3.0将文件夹结构从驱动器复制到网络共享,并保留原始结构?

答案:使用Copy-Item cmdlet并指定–Container切换参数:

$sourceRoot = "C:\temp"
$destinationRoot = "C:\n"

Copy-Item -Path $sourceRoot -Filter "*.txt" -Recurse -Destination $destinationRoot -Container