Инструменты пользователя

Инструменты сайта


windows:scripts:cmd:launcher_same_name_ps1

Это старая версия документа!


Лаунчер для PowerShell скриптов

run_the_same_name_ps1.bat - скрипт который запускает PowerShell (*.ps1) скрипты с таким же названием как у *.bat файла в каталоге рядом. С возможностью передачи аргументов без проверки на запуск с правами администратора. Повышение прав, если необходимо, должно быть запрошено в самом PowerShell скрипте.

Пример:

browser.bat

будет запущен

browser.ps1
run_the_same_name_ps1.bat
@echo off
rem File: run_the_same_name_ps1.bat
rem Purpose: launcher for PowerShell script with the same base name as this .bat
rem (finds pwsh or falls back to Windows PowerShell)
rem Author: takraztak
rem ==================================================
 
setlocal
 
rem try PowerShell 7 (pwsh) in Program Files
set "PS_EXE=%ProgramFiles%\PowerShell\7\pwsh.exe"
if exist "%ProgramFiles(x86)%" (
    if not exist "%PS_EXE%" set "PS_EXE=%ProgramFiles(x86)%\PowerShell\7\pwsh.exe"
)
 
rem fallback to Windows PowerShell if pwsh not found
if not exist "%PS_EXE%" set "PS_EXE=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe"
 
rem final fallback: rely on PATH (just the name)
if not exist "%PS_EXE%" (
    set "PS_EXE=pwsh.exe"
)
 
rem path to the PowerShell script with the same base name as this .bat
set "PS1=%~dp0%~n0.ps1"
 
rem Quote paths and forward all args
"%PS_EXE%" -NoProfile -ExecutionPolicy Bypass -File "%PS1%" %*
 
endlocal
pause
exit /b
windows/scripts/cmd/launcher_same_name_ps1.1772092126.txt.gz · Последнее изменение:

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution 4.0 International
CC Attribution 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki