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

Показать сообщение отдельно

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


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

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


Цитата Foreigner:
Чтобы не убивать ошибки и варианты других программ лучше заменить "pwsh" на "pwsh.exe*":
Код:
if (-not (Get-Command pwsh.exe*)) { return }
или добавить -ea 4 (-ErrorAction 'Ignore') »
Так... вроде понял, но что-то видимо не до конца понял)
Получается, идёт проверка на наличие pwsh.exe:
Код: Выделить весь код
if (-not (Get-Command pwsh.exe*)) {
     return 
    }
Если проверка с false, то выполняются команды сделующие:
Код: Выделить весь код
Install-PackageProvider -Name chocolatey -Force
Set-PackageSource -Name Chocolatey -Trusted
Install-PackageProvider -Name ChocolateyGet
Install-Package -Name pwsh -Source Chocolatey -Provider ChocolateyGet -Force -Verbose
И уже дальше идёт мой код, верно?
Тобишь и получается как-то так в самом начале:
Код: Выделить весь код
if (-not (Get-Command pwsh.exe*)) {
     return 
    }
    Install-PackageProvider -Name chocolatey -Force
    Set-PackageSource -Name Chocolatey -Trusted
    Install-PackageProvider -Name ChocolateyGet
    Install-Package -Name pwsh -Source Chocolatey -Provider ChocolateyGet -Force -Verbose
    if ($PSVersionTable.PSEdition -ne 'Core') {
        pwsh -file $MyInvocation.MyCommand.Source; return 
       }
    {'мой код'}
Или что-то не так?
Просто по факту оно каждый раз запускает инсталятор pwsh, хотя когда он есть, надо скрип...

Отправлено: 12:55, 18-10-2022 | #10