letakkan file .cmd sederhana di subfolder saya dengan file .ps1 saya dengan nama yang sama, jadi, misalnya, skrip bernama "foobar" akan memiliki "foobar.ps1" dan "foobar.cmd". Jadi untuk menjalankan .ps1, yang harus saya lakukan adalah mengklik file .cmd dari explorer atau menjalankan .cmd dari command prompt. Saya menggunakan nama dasar yang sama karena file .cmd secara otomatis akan mencari .ps1 menggunakan namanya sendiri.
::====================================================================
:: Powershell script launcher
::=====================================================================
:MAIN
@echo off
for /f "tokens=*" %%p in ("%~p0") do set SCRIPT_PATH=%%p
pushd "%SCRIPT_PATH%"
powershell.exe -sta -c "& {.\%~n0.ps1 %*}"
popd
set SCRIPT_PATH=
pause
Pushd / popd memungkinkan Anda meluncurkan file .cmd dari command prompt tanpa harus berpindah ke direktori tertentu tempat skrip berada. Ini akan berubah ke direktori script kemudian setelah selesai kembali ke direktori asli.
Anda juga dapat menonaktifkan jeda jika ingin jendela perintah menghilang saat skrip selesai.
Jika skrip .ps1 saya memiliki parameter, saya meminta mereka dengan petunjuk GUI menggunakan .NET Forms, tetapi juga membuat skrip cukup fleksibel untuk menerima parameter jika saya ingin meneruskannya. Dengan cara ini saya hanya dapat mengklik dua kali dari Explorer dan tidak perlu mengetahui detail parameter karena akan menanyakan apa yang saya butuhkan, dengan kotak daftar atau formulir lainnya.