Windows 7'de PowerShell'i 'varsayılan' olarak ayarlayabilir miyim?


9

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?


5
Powershell'in toplu dosyaları yorumlayabileceğini sanmıyorum, bu yüzden muhtemelen bunları açmamalısınız.
nhinkle

Yanıtlar:


9

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.exeYolu 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\openkayıt defteri anahtarını değiştirerek de mümkün olabilir


Teşekkürler! Bunları bu gece deneyeceğim. Komut dosyalarının powershell'de açılmasını istememin tek nedeni, pencereleme araçlarımla tutarlılık ve işbirliği yapmaktır. Doğasında pratik bir neden olmadığı konusunda haklısınız. ;)
Ipsquiggle

0

PowerShell'de CMD toplu iş dosyalarını çalıştırmakla çok fazla ilerlemeyeceksiniz.

Sen değiştirmeyi deneyebilirsiniz %COMSPEC%noktaya değişkeni powershell.exekullanarak 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


1
Neden kötü bir fikir? Sadece merak.
afrazier

@afrazier: %COMSPEC%CMD uyumlu olmayan bir kabuğa geçmeyi denemedim , ancak PowerShell olarak değiştirmenin .cmd/ .batdosyaları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ü.
paradroid

1
Sadece kıkırdamalar için, %ComSpec%Win7 sistemimdeki PowerShell'e işaret ettim. .cmdTest ettiğim ilk çift dosya gayet iyi çalışıyor. cmdSpesifik yapılar ( forDeğişken manipülasyon, if) içerirler , bu nedenle PS, ne zaman çağırması gerektiğini bilecek kadar akıllıdır cmd.exe.
afrazier

Örneğin, %ComSpec%powershell'e geçmek, mercurial sürüm kontrol komutlarını kırar.
Umut
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.