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

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

Модерирует : gyra, Maz

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

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

Smitis



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

Код:
<#
Обновление SumatraPDF с https://github.com/VictorVG/Software, версия скрипта 2018.12.31
Обновляются обе версии x86 и x64 которые находятся в папке со скриптом под именами SumatraPDF.exe и SumatraPDF64.exe.
Если SumatraPDF установлен в системе в папку ProgramFiles, обновляется и он (той же разрядности, что и система).
#>
 
param(
    [Parameter()] [Alias('NC')] [switch] $NotCheck,
    [Parameter()] [Alias('ND')] [switch] $NotDelete
)
 
$checkurl = "https://github.com/VictorVG/Software"
$archivelink = "https://raw.githubusercontent.com/VictorVG/Software/master/SumatraPDF.7z"
#$archivelink = "https://github.com/VictorVG/Software/raw/master/SumatraPDF.7z" # другая ссылка
$commitmask = "SumatraPDF (v\d+\.\d+ Git-[0-9a-z]+)" # патерн для выделения версии из html
$sevenzip = "7za.exe"
 
Write-Host "Update SumatraPDF"
Write-Host "Check..."
 
# В этой переменной запоминается последний установленный commit
$commit = "v3.2 Git-21c252e34"
 
$scriptfile = $MyInvocation.MyCommand.Path
$scriptdir = $MyInvocation.MyCommand.Path | Split-Path -Parent
$archive = Join-Path $scriptdir ([System.IO.Path]::GetFileName($archivelink))
[System.Net.ServicePointManager]::SecurityProtocol = 'SSL3,TLS,TLS11,TLS12' # для Windows 7
$content = (Invoke-WebRequest -URI $checkurl).content -split "`n"
# Ищем последний коммит в строке вида "SumatraPDF v3.2 Git-8cc335188"
foreach ($c in $content) {
    if ($c -match $commitmask) {
        $release = $Matches[1]
        Write-Host "Release commit: $release"
        Write-Host "Current commit: $commit"
        if ($release -ne $commit -or $NotCheck) {
            Write-Host "Download $archivelink"
            Invoke-WebRequest $archivelink -Out $archive
            if (Test-Path -Lit $archive) {
                Write-Host "Unpack..."
                & $sevenzip x -y "-x!*-install.exe" "-o$scriptdir" -- $archive *.exe
                Get-ChildItem -Lit "$scriptdir" | where {$_.Name -match "SumatraPDF-\d+\.\d+\.exe" } | foreach { Move-Item $_.FullName "SumatraPDF.exe" -Force }
                Get-ChildItem -Lit "$scriptdir" | where {$_.Name -match "SumatraPDF-\d+\.\d+-x64\.exe" } | foreach { Move-Item $_.FullName "SumatraPDF64.exe" -Force }
                $dstfile = Join-Path $env:ProgramFiles "SumatraPDF\SumatraPDF.exe"
                if (Test-Path -Lit $dstfile ) {
                    Write-Host ("Update "+(Join-Path $env:ProgramFiles "SumatraPDF"))
                    if ((Get-CimInstance CIM_Processor).DataWidth -eq 64 ) {
                        Copy-Item -Lit "$scriptdir\SumatraPDF64.exe" $dstfile -Force
                    }
                    else {
                        Copy-Item -Lit "$scriptdir\SumatraPDF.exe" $dstfile -Force
                    }
                }
                if (-not $NotDelete) {
                    Remove-Item $archive -Force
                }
            }
            [string[]]$script = Get-Content $scriptfile
            for ($i=0;$i -lt $script.Length;$i++) {
                if ($script[$i] -match '^\$commit\s*=') {
                    $script[$i] = '$commit = "'+$release+'"'
                    break
                }
            }
            Set-Content $scriptfile $script -Enc UTF8
            Write-Host "Done"
        }
        break
    }
}

Всего записей: 3215 | Зарегистр. 09-02-2003 | Отправлено: 18:06 31-12-2018
Открыть новую тему     Написать ответ в эту тему

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Sumatra PDF | SumatraPDF


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru