Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - копирование файлов из множества папок в одну

Ответить
Настройки темы
PowerShell - копирование файлов из множества папок в одну

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Здравствуйте необходим скрипт который бы искал в каталоге все папки с определенным названием, в этих папках находил файлы *.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:10, 25-03-2019

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


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

Отправлено: 18:16, 25-03-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


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

Отправлено: 11:09, 26-03-2019 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - копирование файлов из множества папок в одну

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Копирование файлов из разных папок yamixon Скриптовые языки администрирования Windows 0 14-12-2016 15:34
VBS/WSH/JS - Скрипт для забора файлов и папок (с сохр. структуры) из неск. сетевых папок в одну л. DjBoBo Скриптовые языки администрирования Windows 0 19-07-2016 16:30
CMD/BAT - [решено] Копирование всех строк из множества файлов одного каталога в один выходной файл FCSMoff Скриптовые языки администрирования Windows 11 25-05-2015 14:00
CMD/BAT - Поиск и копирование определенных файлов из папок timbird Скриптовые языки администрирования Windows 13 22-02-2014 21:25
CMD/BAT - Перемещение файлов из нескольких папок в одну. BatizhevNH Скриптовые языки администрирования Windows 4 14-05-2012 19:32




 
Переход