![]() |
копирование файлов из множества папок в одну
Здравствуйте необходим скрипт который бы искал в каталоге все папки с определенным названием, в этих папках находил файлы *.pdf и копировал их в другую папку. на просторах интернета нашел что то похожее, но он копирует весь путь до папок, т.е. в итоге в нужной папке получается куча подкаталогов. мне нужно чтобы копировались только файлы. и при совпадении имен - изменялось имя.
$sSourceFolder = "C:\Users\Администратор\Documents" $sDestFolder = "C:\Users\Администратор\Documents\123" if(Test-Path -Path $sSourceFolder -PathType Container) { if(Test-Path -Path $sDestFolder -PathType Container) { Get-ChildItem -Path $sSourceFolder -Include "*.pdf" -Recurse |` Where-Object -FilterScript { $_.DirectoryName -like "*evro*" } |` ForEach-Object -Process { $DestPath = $sDestFolder + ($_.DirectoryName).Substring($sSourceFolder.Length) if(-not (Test-Path -Path $DestPath -PathType Container)) { New-Item -Path $sDestFolder -Name ($_.DirectoryName).Substring($sSourceFolder.Length + 1) -ItemType Container | Out-Null } Write-Host $_.FullName Copy-Item -Path $_.FullName -Destination $DestPath -Force } } else { Write-Host "Destination folder [$sDestFolder] not found." -ForegroundColor Red } } else { Write-Host "Source folder [$sSourceFolder] not found." -ForegroundColor Red } этот скрипт ищет в папке C:\Users\Администратор\Documents все папки с названием "evro" в этих папках находит файлы *.pdf и все это копирует в папку C:\Users\Администратор\Documents\123 , но мне нужно чтобы он копировал только сами файлы без сохранения путей. |
Цитата:
|
в принципе это не обязательно, но хотелось бы чтобы скрипт проверял файлы если они разные по размеру или дате то добавлял еще один файл в конце там число по порядку. Вообще достаточно даже ярлыки этих файлов в папку назначения вывести.
|
Время: 16:41. |
Время: 16:41.
© OSzone.net 2001-