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

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

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

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

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

iNNOKENTIY21



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

Код:
param (
    [Io.FileInfo[]] $Files,
    [string] $Prefix,
    [string] $Suffix,
    [string] $Destination
)
 
function Remove-Prefix([string] $Str) {
    if ($Str.StartsWith($Prefix)) {
        $Str.Remove(0, $Prefix.Length)
    } else {
        $Str
    }
}
 
function Remove-Suffix([string] $Str) {
    if ($Str.EndsWith($Suffix)) {
        $Str.Remove($Str.Length - $Suffix.Length)
    } else {
        $Str
    }
}
 
function Clear-Name([string] $Str) {
    [string] $tmp = Remove-Prefix $Str
    Remove-Suffix $tmp
}
 
function Get-SmallerFile([Io.FileInfo] $File1, [Io.FileInfo] $File2) {
    if ($File1.Length -lt $File2.Length) {
        $File1
    } else {
        $File2
    }
}
 
[Io.FileInfo[]] $SmallerFiles = @()
 
foreach ($File in $Files) {
    if (($File.BaseName -notlike "$Prefix*") -and
        ($File.BaseName -notlike "*$Suffix")) {
        continue
    }
         
    [string] $CleanName = Clear-Name -Str $File.BaseName
    [string] $FullName = "{0}\{1}{2}" -f (
        $File.DirectoryName,
        $CleanName,
        $File.Extension
    )
 
    if ($Files.FullName -notcontains $FullName) {
        continue
    }
 
    [Io.FileInfo] $OriginFile = $Files | Where-Object FullName -eq $FullName
    $SmallerFiles += Get-SmallerFile -File1 $OriginFile -File2 $File
}
 
$SmallerFiles

Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 15:58 30-10-2019
Открыть новую тему     Написать ответ в эту тему

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

Компьютерный форум 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