Цитата 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, хотя когда он есть, надо скрип...