從批處理檔案執行 PowerShell 指令碼
Rohan Timalsina
2023年1月30日
2022年5月16日
-
使用
-File
引數從批處理檔案執行 PowerShell 指令碼 -
使用
RemoteSigned
作為-ExecutionPolicy
從批處理檔案執行 PowerShell 指令碼 -
使用
Bypass
開關從批處理檔案執行 PowerShell 指令碼 - 通過以管理員身份開啟 PowerShell 從批處理檔案執行 PowerShell 指令碼
PowerShell 指令碼是一個使用 .ps1
副檔名的文字檔案,其中包含一組命令。PowerShell 按順序執行這些命令。
批處理檔案是使用 .bat
副檔名的文字檔案。它還包含一組按順序執行的命令。
這些命令可以通過開啟 .bat
檔案來執行。本教程將教你從批處理檔案執行 PowerShell 指令碼。
我們建立了一個 PowerShell 指令碼 myscript.ps1
,其中包含以下命令。
Write-Host "Your script is executed successfully."
我們還建立了一個批處理檔案 test.bat
來執行上述 PowerShell 指令碼。我們將使用批處理檔案 test.bat
執行 PowerShell 指令碼 myscript.ps1
。
使用 -File
引數從批處理檔案執行 PowerShell 指令碼
你可以使用 -File
引數呼叫 PowerShell 指令碼。這是從命令提示符執行 PowerShell 指令碼的簡單命令。
test.bat
檔案中使用以下命令來執行 PowerShell 指令碼。 @echo off
命令禁用回顯或阻止顯示批處理檔案內容。
pause
命令會停止批處理檔案的執行,直到你按下除 Ctrl、Shift 或 NumberLock 之外的任何鍵。
@echo off
powershell -File C:\New\myscript.ps1
pause
輸出:
Your script is executed successfully.
Press any key to continue . . .
使用 RemoteSigned
作為 -ExecutionPolicy
從批處理檔案執行 PowerShell 指令碼
你可以將 RemoteSigned
設定為 -ExecutionPolicy
以從批處理檔案執行 PowerShell 指令碼。 -ExecutionPolicy
引數指定 PowerShell 執行策略。
@echo off
powershell -ExecutionPolicy RemoteSigned -File C:\New\myscript.ps1
pause
輸出:
Your script is executed successfully.
Press any key to continue . . .
使用 Bypass
開關從批處理檔案執行 PowerShell 指令碼
你還可以使用 Bypass
作為執行策略從批處理檔案執行 PowerShell 指令碼。
@echo off
powershell -ExecutionPolicy Bypass -File C:\New\myscript.ps1
pause
輸出:
Your script is executed successfully.
Press any key to continue . . .
或者,你也可以執行以下命令。
@echo off
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& 'C:\New\myscript.ps1'"
pause
輸出:
Your script is executed successfully.
Press any key to continue . . .
通過以管理員身份開啟 PowerShell 從批處理檔案執行 PowerShell 指令碼
以下命令以管理員身份開啟 PowerShell 以執行 PowerShell 指令碼。當你開啟批處理檔案並選擇是
時,輸出將顯示在 Windows PowerShell 上。
@echo off
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""C:\New\myscript.ps1""' -Verb RunAs}"
ps1'"
pause
輸出:
Your script is executed successfully.
Author: Rohan Timalsina