Varsayılan olarak, örneğin bir toplu iş dosyası çalıştırırken veya "Komut Penceresini Burada Aç" vb. Sırasında Komut yerine PowerShell'in başlatılmasını istiyorum.
Herhangi bir öneri?
Varsayılan olarak, örneğin bir toplu iş dosyası çalıştırırken veya "Komut Penceresini Burada Aç" vb. Sırasında Komut yerine PowerShell'in başlatılmasını istiyorum.
Herhangi bir öneri?
Yanıtlar:
Ben sadece çok hızlı bir test yaptım ve aşağıdaki kayıt defteri girdisi explorer içindeki tüm klasörlerin bağlam menüsüne bir "PowerShell burada" öğesi ekleyecektir:
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\\\"\""
Sadece kayıt defterine alın. cmd.exe
Yolu zor kodlamak zorunda kalmamak için powershell bootstrap kullanıyorum .
Cmd komut dosyaları / toplu iş dosyaları ile ilgili. Varsayılan olarak PowerShell içinde CMD komut dosyalarını çalıştırmanın pek mantıklı olmadığını düşünüyorum. Ancak, HKCR\cmdfile\shell\open
kayıt defteri anahtarını değiştirerek de mümkün olabilir
PowerShell'de CMD toplu iş dosyalarını çalıştırmakla çok fazla ilerlemeyeceksiniz.
Sen değiştirmeyi deneyebilirsiniz %COMSPEC%
noktaya değişkeni powershell.exe
kullanarak setx
, ama bu gerçekten kötü bir fikir olduğunun farkında ve geri tekrar değiştirmek uzun götürecek sanmıyorum.
dosyayı * .bat yerine * .ps1 olarak kaydedin ve powershell kullanır
%COMSPEC%
CMD uyumlu olmayan bir kabuğa geçmeyi denemedim , ancak PowerShell olarak değiştirmenin .cmd
/ .bat
dosyaların PowerShell'de yürütülmeye çalışacağını varsayıyorum , bu yüzden başarısız olurlar . Toplu iş dosyalarını kullanmak için gereken bir sürü yazılım yükledim, bu yüzden bunu yapmak kötü bir fikir olurdu. Ayrıca, her zaman CMD kullandığım için biraz önyargılıyım (aslında, genişletilmiş bir üst küme olan TCC), günlük dosya yönetimi için - PowerShell'i sadece sistem öğeleri için kullanıyorum, ancak öğrenecek çok şeyim var. karşılaştırıldığında çok güçlü.
%ComSpec%
Win7 sistemimdeki PowerShell'e işaret ettim. .cmd
Test ettiğim ilk çift dosya gayet iyi çalışıyor. cmd
Spesifik yapılar ( for
Değişken manipülasyon, if
) içerirler , bu nedenle PS, ne zaman çağırması gerektiğini bilecek kadar akıllıdır cmd.exe
.
%ComSpec%
powershell'e geçmek, mercurial sürüm kontrol komutlarını kırar.