-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsetup-machine.bat
34 lines (31 loc) · 1.06 KB
/
setup-machine.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
@echo off
REM Find PWSH.EXE
where.exe /q pwsh.exe >NUL 2>NUL
if %ERRORLEVEL% neq 0 (
goto NeedPowershellExe
)
FOR /F "tokens=* usebackq" %%F IN (`where.exe pwsh.exe`) DO (
SET "SETUP_INTERNAL_PWSHEXE=%%F"
)
"%SETUP_INTERNAL_PWSHEXE%" -NoLogo -Help >NUL 2>NUL
if %ERRORLEVEL% equ 0 (
SET "SETUP_INTERNAL_POWERSHELLEXE=%SETUP_INTERNAL_PWSHEXE%"
goto HavePowershellExe
)
REM Find Powershell.EXE
:NeedPowershellExe
FOR /F "tokens=* usebackq" %%F IN (`where.exe powershell.exe`) DO (
SET "SETUP_INTERNAL_POWERSHELLEXE=%%F"
)
"%SETUP_INTERNAL_POWERSHELLEXE%" -NoLogo -Help >NUL 2>NUL
if %ERRORLEVEL% neq 0 (
echo.
echo.Neither 'pwsh.exe' nor 'powershell.exe' were found. Make sure you have
echo.PowerShell installed.
echo.
exit /b 1
)
:HavePowershellExe
@REM Microsoft way of getting around PowerShell permissions: https://github.com/microsoft/vcpkg/blob/71422c627264daedcbcd46f01f1ed0dcd8460f1b/bootstrap-vcpkg.bat
"%SETUP_INTERNAL_POWERSHELLEXE%" -NoProfile -ExecutionPolicy Bypass -Command "& {& '%~dp0setup-machine.ps1' %*; exit $LASTEXITCODE}"
exit /b %ERRORLEVEL%