Копирование и переименование папки Powershell

Я пытаюсь скопировать одну папку с каждой подпапкой и файлами в другой каталог. Теперь я хочу переименовать скопированную папку по определенной схеме.

Например, папка предназначена для категории Train, я хочу добавить к имени B_.

На данный момент у меня есть следующее:

$PathFolder = $FileBrowser.SelectedPath
# $PathFolder2 = "B_" + $FileBrowser.SelectedPath

$PathDestination = "C:\Users\*\Desktop\"

$charCount = ($PathFolder.ToCharArray() | Where-Object {$_ -eq '\'} | Measure-Object).Count

$FolderName = $PathFolder.split('\')[$charCount]

if ($CB_Bahnlinien.Checked) {
    $x = Copy-Item -Path $PathFolder -Destination $PathDestination -Recurse -Force -PassThru | Rename-Item -NewName "B_$FolderName" -Verbose
    # $x = Rename-Item -Path "$PathFolder" -NewName "B_$FolderName" -PassThru | Copy-Item -Path $PathFolder2 -Destination $PathDestination -Recurse 
    if($x) {
        $error_msg = $error[0].exception.message
        [System.Windows.Forms.MessageBox]::Show($error_msg,"Achtung!",0)
    } else {
        [System.Windows.Forms.MessageBox]::Show("Erfolgreich kopiert " + $FolderName,"",0)
    }
}

Проблема в том, что он копирует папку с содержимым и, кроме того, создает новую папку с таким именем, как и должно быть, но без содержимого. И даже не копирует все из папки ?!


person Lukas    schedule 01.02.2021    source источник
comment
Ваш Rename-Item переименует все файлы с тем же именем, что и B_$Foldername. Возможно, вам будет лучше использовать gci, чтобы получить список файлов, а затем дать новое имя в качестве цели для Copy-Item.   -  person Mark Elvers    schedule 01.02.2021
comment
Вот мой пример для Get-ChildItem | Copy-Item конвейера. Удалите линию Where-Object и при необходимости отрегулируйте $destinationSubDirPath.   -  person zett42    schedule 01.02.2021