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
}
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