web-dev-qa-db-fra.com

Comment copier un dossier avec des sous-dossiers?

Ce script fonctionne parfaitement dans PowerShell. Il copie tous les fichiers avec un type spécifique. Mais je veux copier des fichiers avec ses dossiers et sous-dossiers.

$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
}
14
gree line

PowerTip: utiliser PowerShell pour copier des éléments et conserver la structure du dossier

Source: https://blogs.technet.Microsoft.com/heyscriptingguy/2013/07/04/powertip-use-powershell- copier-éléments-et-conserver-dossier-structure /

Question: Comment utiliser Windows PowerShell 3.0 pour copier une structure de dossiers d'un lecteur sur un partage réseau et conserver la structure d'origine?

Réponse: Utilisez le Copy-Item cmdlet et spécifiez le –Container paramètre modifié:

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

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