Saya ingin, secara default, untuk PowerShell diluncurkan bukan dari Command ketika, katakanlah, menjalankan file batch, atau ketika saya "Buka Command Window Here", dll.
Ada saran?
Saya ingin, secara default, untuk PowerShell diluncurkan bukan dari Command ketika, katakanlah, menjalankan file batch, atau ketika saya "Buka Command Window Here", dll.
Ada saran?
Jawaban:
Saya baru saja melakukan tes yang sangat cepat dan entri registri berikut akan menambahkan item "PowerShell di sini" ke menu konteks semua folder di explorer:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere]
@="&PowerShell here"
[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere\command]
@="cmd.exe /c start \"PS\" powershell.exe -NoExit -Command \"cd \\\"%1\\\"\""
Impor saja ke dalam registri. Saya menggunakan cmd.exe
untuk mem-bootstrap PowerShell untuk menghindari keharusan hard-code path.
Mengenai skrip cmd / file batch. Saya pikir itu tidak masuk akal untuk menjalankan skrip CMD dalam PowerShell secara default. Tetapi mungkin juga dengan memodifikasi HKCR\cmdfile\shell\open
kunci registri
Anda tidak akan terlalu jauh dengan menjalankan file batch CMD di PowerShell.
Anda dapat mencoba mengubah %COMSPEC%
variabel menjadi titik powershell.exe
penggunaan setx
, tetapi saya pikir itu tidak akan memakan waktu lama bagi Anda untuk menyadari bahwa ini adalah ide yang sangat buruk dan mengubahnya kembali.
simpan file sebagai * .ps1 bukan * .bat dan itu akan menggunakan PowerShell
%COMSPEC%
shell yang tidak kompatibel dengan CMD, tapi saya berasumsi bahwa dengan mengubahnya ke PowerShell akan menghasilkan .cmd
/ .bat
file yang mencoba dieksekusi di PowerShell, sehingga mereka akan gagal. Saya telah menginstal banyak perangkat lunak yang diperlukan untuk menggunakan file batch, jadi melakukan itu akan menjadi ide yang buruk. Juga, saya sedikit bias, karena saya menggunakan CMD sepanjang waktu (sebenarnya, TCC, yang merupakan superset yang diperluas), untuk pengelolaan file sehari-hari - Saya hanya menggunakan PowerShell untuk hal-hal sistem, walaupun saya memiliki lebih banyak hal untuk dipelajari, karena itu sangat kuat dibandingkan.
%ComSpec%
untuk menunjuk ke PowerShell pada sistem Win7 saya. .cmd
File pasangan pertama yang saya uji berfungsi dengan baik. Mereka melibatkan cmd
konstruk-spesifik ( for
, manipulasi variabel, if
), sehingga PS tampaknya cukup pintar untuk mengetahui kapan perlu memohon cmd.exe
.
%ComSpec%
ke PowerShell akan merusak perintah kontrol versi lincah.