Meilleur auteur de réponses
Move-item avec Recurse et Exclude

Question
-
Bonjour la communauté !
Je vous expose mon problème :
Je souhaite déplacer des fichiers d'un dossier X vers Y mais sans que les fichiers ".pst" soient concernés, dans un monde idéal l'arborescence est recrée à l'identique dans le dossier de destination.
Voici à quoi ressemble mon script :
$source = "C:\Lab\Testlab" $dest = "C:\Lab\destination" $exclude = @('*.pst') Get-ChildItem $source -Recurse -Exclude $exclude | Move-Item -Destination {Join-Path $dest $_.FullName.Substring($source.length)}
Cela ne fonctionne pas, les sous-dossiers du dossier de départ sont déplacés aussi.
Auriez-vous une idée svp ?
(En revanche si je fait un copy-item, le comportement du script est impeccable)
Merci
Réponses
-
Des fois, il ne faut pas chercher trop loin:
$source = "C:\Lab\Testlab" $dest = "C:\Lab\destination" $exclude = "*.pst" robocopy $source $destination /move /e /xf $exclude /xx /ndl /r:0 /w:0
ça déplace, ça recréé l'arborescence originale, ça exclu les PST....
B.
- Marqué comme réponse Pascal.S mardi 9 mai 2017 07:50
Toutes les réponses
-
Salut !
Voici ce que j'ai pu trouver mais pas tester; peux tu me dire si cela marche de ton côté :
$filepath = "Original path" $filedest = "Destination path" $exclude = "ExclusionName" CD $filepath $Files = GCI -path $filepath | Where-object {$_.name -ne $exclude} foreach ($file in $files){move-item -path $file -destination $filedest}
- Modifié puffydee13 vendredi 5 mai 2017 14:11 testscript
-
-
Des fois, il ne faut pas chercher trop loin:
$source = "C:\Lab\Testlab" $dest = "C:\Lab\destination" $exclude = "*.pst" robocopy $source $destination /move /e /xf $exclude /xx /ndl /r:0 /w:0
ça déplace, ça recréé l'arborescence originale, ça exclu les PST....
B.
- Marqué comme réponse Pascal.S mardi 9 mai 2017 07:50
-