2016-02-15 1 views
0

Как скопировать файлы типа .txt из папки и ее подпапки с помощью сценария powershell. Если в подпапку файла I я хочу, чтобы вложенная папка также была скопирована в пункт назначения. Благодарякак скопировать файлы из папки, а также файлы в подпапку в сценарии powershell

Я попытался следующие

Copy-item c:\tes\* *.txt c:\dest -recurse -force 

Это копирует только файлы Фрум корневой папки, а не из вложенных папок.

ответ

1

Это может быть не лучшим решением, но это должно работать:

Я использую Get-ChildItem командлет, чтобы отфильтровать все *.txt файлов, определить новый путь, создавая новый каталог с помощью md и, наконец, скопировать файлы с помощью Copy-Item командлет:

$source = 'D:\test1' 
$destination = 'D:\test2' 

Get-ChildItem -Path $source -Filter *.txt -Recurse | % { 
$newDirectory = Join-Path $destination ($_.DirectoryName.Substring($source.Length)) 
    md $newDirectory -Force | out-null 
    Copy-Item $_.FullName -Destination $newDirectory 
} 
+0

привет. Будет ли эта команда создавать каталог, если он уже существует? –

+0

Отлично! Оно работает. Many Thanks –

+0

Он просто гарантирует, что каталог существует. Вы также можете обернуть его в «Test-Path», если хотите, но это всегда должно работать. –