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
Политики выполнения скриптов

РЕКЛАМА хостинга Beget, которым я пользуюсь более десяти лет

Изображение баннера

Конец рекламы хостинга Beget, который я всем рекомендую.

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: