Khởi chạy tệp powershell script bằng lệnh command hoặc từ tệp bactch
Các tệp powershell script nên được lưu vào một thư mục cố định chẳng hạn tạo mới một thư mục tên data trong thư mục data lại tạo mới thư mục scripts và lưu các tệp script vào thư mục này
Khi muốn chạy một tệp script sử dụng dòng lệnh command sau trong cmd
powershell.exe -ExecutionPolicy Bypass -Command "& 'C:\data\scripts\Start-Service.ps1'"
Trong đó C:\data\scripts\Get-AppxPackage.ps1 là đường dẫn đến tệp Get-AppxPackage.ps1 đang lưu tệp Start-Service.ps1 trong thư mục scripts của thư mục data, thư mục data bạn có thể lưu vào ổ đĩa (C) chẳng hạn
Hình minh họa
Trong trường hợp nếu muốn chạy nhiều tệp script với các menu tùy chọn các bạn có thể viết tệp batch thêm menu với các tùy chọn khởi chạy script
Tham khảo thêm: Cách sử dụng tùy chọn choice command và set command trong viết tệp batch
Mình lấy ví dụ mình sẽ viết nội dung tệp batch như sau:
@echo off
title Run PowerShell Script (.ps1)
:menu
cls
echo.Main menu
echo.
echo. ID Option
echo.
echo. 1 Get-AppxPackage
echo. 2 Remove-AppxPackage
echo. 3 Add-AppxPackage
echo. 4 Get-AppxProvisionedPackage
echo. 5 Remove-AppxProvisionedPackage
echo. 6 Enable Windows Features
echo. 7 Disable Windows Features
echo. 8 Start Service
echo. 9 Stop Service
echo.
choice /c:123456789 /n /m "Select ID for continue : "
if %errorlevel% EQU 1 powershell.exe -ExecutionPolicy Bypass -Command "& '%~dp0data\scripts\Get-AppxPackage.ps1'" && goto menu
if %errorlevel% EQU 2 powershell.exe -ExecutionPolicy Bypass -Command "& '%~dp0data\scripts\Remove-AppxPackage.ps1'" && goto menu
if %errorlevel% EQU 3 powershell.exe -ExecutionPolicy Bypass -Command "& '%~dp0data\scripts\Add-AppxPackage.ps1'" && goto menu
if %errorlevel% EQU 4 powershell.exe -ExecutionPolicy Bypass -Command "& '%~dp0data\scripts\Get-AppxProvisionedPackage.ps1'" && goto menu
if %errorlevel% EQU 5 powershell.exe -ExecutionPolicy Bypass -Command "& '%~dp0data\scripts\Remove-AppxProvisionedPackage.ps1'" && goto menu
if %errorlevel% EQU 6 powershell.exe -ExecutionPolicy Bypass -Command "& '%~dp0data\scripts\Enable-WindowsOptionalFeature.ps1'" && goto menu
if %errorlevel% EQU 7 powershell.exe -ExecutionPolicy Bypass -Command "& '%~dp0data\scripts\Disable-WindowsOptionalFeature.ps1'" && goto menu
if %errorlevel% EQU 8 powershell.exe -ExecutionPolicy Bypass -Command "& '%~dp0data\scripts\Start-Service.ps1'" && goto menu
if %errorlevel% EQU 9 powershell.exe -ExecutionPolicy Bypass -Command "& '%~dp0data\scripts\Stop-Service.ps1'" && goto menu
Sau đó mình lưu tệp batch này cùng với thư mục data
Chạy tệp batch trong đó có các tùy chọn chạy powershell script
Các bạn lưu ý khi viết tệp batch thì %~dp0 là đường dẫn bất kỳ đến thư mục đang lưu tệp batch chẳng hạn thư mục Tuan đang lưu tệp batch và thư mục data, các bạn có thể lưu thư mục Tuan này ở bất kỳ đâu và khi chạy tệp batch tự tìm đến đường dẫn chính xác đến thư mục đó