Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   копирование файлов из множества папок в одну (http://forum.oszone.net/showthread.php?t=339835)

oka08@vk 25-03-2019 16:10 2865051

копирование файлов из множества папок в одну
 
Здравствуйте необходим скрипт который бы искал в каталоге все папки с определенным названием, в этих папках находил файлы *.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 , но мне нужно чтобы он копировал только сами файлы без сохранения путей.

Iska 25-03-2019 18:16 2865081

Цитата:

Цитата oka08@vk
и при совпадении имен - изменялось имя. »

Как?

oka08@vk 26-03-2019 11:09 2865173

в принципе это не обязательно, но хотелось бы чтобы скрипт проверял файлы если они разные по размеру или дате то добавлял еще один файл в конце там число по порядку. Вообще достаточно даже ярлыки этих файлов в папку назначения вывести.


Время: 16:41.

Время: 16:41.
© OSzone.net 2001-