PowerShell Скрипты
| Дождаться установки Python | |
| Скачать Thrift | |
| Скачать Tesseract и добавить в путь | |
| Скачать Java | |
| Импортировать один скрипт в другой | |
| Похожие статьи |
Дождаться установки Python
Пример скрипта PowerShell, который использует кастомную функцию для проверки завершения установки Python.
Может пригодиться, если установка запущена другим скриптом а вам нужно дождаться завершения прежде чем
делать новые действия.
function Is-Py-Installed { Write-Output "Is-Py-Installed is running" $installed = Get-Command python -ErrorAction SilentlyContinue if ($installed) { $version = python --version 2>&1 Write-Host "Python version: $version" -f Green return 1 } else { Write-Host "Python is not yet installed on this device." -f Yellow return 0 } } $py_installed = 0 while ($py_installed -eq 0) { Write-Output "while loop is running" $py_installed = Is-Py-Installed Start-Sleep -Seconds 3.0 }
РЕКЛАМА от Яндекса. Может быть недоступна в вашем регионе
Конец рекламы. Если там пусто считайте это рекламой моей телеги
Скачать Thrift
PowerShell скрипт для скачивания thrift.exe
$THRIFT_URL = "https://dlcdn.apache.org/thrift/0.19.0/thrift-0.19.0.exe" $FilePath = ".\thrift.exe" If (Test-Path -path $FilePath -PathType Leaf) { Write-Host "thrift.exe file exists" -f Green } Else { Write-Host "thrift.exe file does not exist - starting download" -f Yellow Invoke-WebRequest $THRIFT_URL -OutFile thrift.exe }
Скачать Tesseract
Скачать:
$TESSERACT_URL = "https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v5.3.0.20221214.exe" $FilePath = ".\tesseract.exe" If (Test-Path -path $FilePath -PathType Leaf) { Write-Host "tesseract.exe file exists" -f Green } Else { Write-Host "tesseract.exe file does not exist - starting download" -f Yellow Invoke-WebRequest $TESSERACT_URL -OutFile tesseract.exe }
PowerShell скрипт, который проверяет в какую из двух типичных директорий установлен Tesseract и добавляет в PATH именно её:
$PF_PATH = "C:\Program Files\Tesseract-OCR" $CURRENT_USER = $Env:Username $APP_PATH = 'C:\Users\' + $CURRENT_USER + '\AppData\Local\Programs\Tesseract-OCR;' if (Test-Path -path $APP_PATH) { Write-Host "$APP_PATH dir exists - adding to path" -f Green $Env:Path = $APP_PATH + $Env:Path } elseif (Test-Path -path $PF_PATH) { # Write-Host "$APP_PATH dir does not exists " -f Yellow Write-Host "$PF_PATH dir exists - adding to path" -f Green $Env:Path += ';C:\Program Files\Tesseract-OCR' } else { Write-Host "No Tesseract-OCR dir found in typical locations" -f Red }
В PowerShell 2 ещё нет Invoke-WebRequest, поэтому скрипт для скачивания будет выглядить так:
$TESSERACT_URL = "https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v5.3.0.20221214.exe" $FilePath = ".\tesseract.exe" if (Test-Path -Path $FilePath -PathType Leaf) { Write-Host "tesseract.exe file exists" -ForegroundColor Green } else { Write-Host "tesseract.exe file does not exist - starting download" -ForegroundColor Yellow $wc = New-Object System.Net.WebClient $wc.DownloadFile($TESSERACT_URL, $FilePath) }
Скачать Java
Скачать:
$JAVA_URL = "https://download.oracle.com/java/25/latest/jdk-25_windows-x64_bin.exe" $FilePath = ".\java.exe" If (Test-Path -path $FilePath -PathType Leaf) { Write-Host "java.exe file exists" -f Green } Else { Write-Host "java.exe file does not exist - starting download" -f Yellow Invoke-WebRequest $JAVA_URL -OutFile java.exe }
Импортировать один скрипт в другой
Получить путь до директории, в которой находится исполняемый скрипт
Write-Output $PSScriptRoot
Импортировать другой скрипт указав путь относительно текущего скрипта
. "$PSScriptRoot\settings.ps1"
В PowerShell 2.0 $PSScriptRoot не сработает, поэтому нужно использовать следующую альтернативу с применением Split-Path и Join-Path
$scriptPath = Split-Path -Parent $MyInvocation.MyCommand.Path $settingsPath = Join-Path $scriptPath "..\..\_settings.ps1" . $settingsPath
Автор статьи: Андрей Олегович
| Windows | |
| Модули | |
| PowerShell | |
| Get-Content | |
| New-Item | |
| Get-FileHash | |
| Политики выполнения скриптов |