Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

YuS 2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
<#
    .SYNOPSIS  
        Копирование или псевдоперемещение файлов и каталогов с сохранением структуры
 
    .Description
        Скрипт предназначен для копирования или перемещения файлов из одного каталога
        в другой, при этом сохраняется вложенная структура каталогов. Фактически,  
        перемещение не выполняется, вместо него работает копирование с последующим  
        удалением скопированнных итемов.
 
    .Parameter Source
        Необязательный: Исходный каталог для выборки элементов. Указывается либо  
        относительный, либо абсолютный путь.
 
    .Parameter Destination
        Необязательный: Целевой каталог. Указывается либо относительный, либо  
        абсолютный путь.
 
    .Parameter Include
        Необязательный: маска(и) для включения элементов в выборку
    
    .Parameter Exclude
        Необязательный: маска(и) для исключения элементов из выборки
 
    .Parameter Delete
        Переключатель: Если указан, то будут удалены исходные файлы, включенные в выборку,
        рекурсивно
 
    .Parameter Emptydelete
        Переключатель: Если указан, то будут удалены пустые подкаталоги в исходном каталоге,
        рекурсивно
        
    .Example
        .\script.ps1 -sourc "D:\FOLDER1" -dest "d:\Folder2" -incl '*.pdf','*.txt' -excl '*_out.*' -del
 
        Это пример перемещения файлов по маскам  '*.pdf','*.txt' с исключением из выборки по маске
        '*_out.*', с последующим удалением исходных элементов. Пустые каталоги не удаляются.
 
    .Example
        .\script.ps1
 
        Это пример копирования/перемещения файлов/каталогов, с сохранением структуры, но
        по указанным в самом скрипте параметрам...
 
    .Link
        http://forum.ru-board.com/topic.cgi?forum=62&topic=30859&start=3600#4
        
    .Notes
        Created By YuS
 
        Version: 1.00
        Date: 20.01.2021
        Purpose/Change:    Первая версия
#>
 
#requires -v 3.0
 
param (
    [string]
    $source = ".\Folder1",
    [string]
    $destination = ".\Folder2",
    [string[]]
    $include = '*.*',
    [string[]]
    $exclude = '',
    [switch]
    $delete,
    [switch]
    $emptydelete
)
$src = gi -lit $source -force
 
# копирование файлов с сохранением структуры
dir -lit $src.fullname -inc $include -exc $exclude -rec -force|copy -d {
    $d = split-path $_.fullname.replace("$($src.fullname)",$destination)
    if (!(test-path -lit $d)){md $d -force} else {$d}
} -force #-whatif
 
if ($delete) {
    # удаляем все скопированные файлы
    dir -lit $src.fullname  -inc $include -exc $exclude  -rec -force -file|
    del -force -rec
}
if ($emptydelete) {
    # удаляем пустые каталоги
    dir -lit $src.fullname -rec -dir -force|sort{$_.fullname.length} -des|%{
        if((dir -lit $_.fullname -rec -force) -eq $null){
            del -lit $_.fullname -force
        }
    }
}
 

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 09:29 20-01-2021 | Исправлено: YuS 2, 13:35 20-01-2021
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru