WinXP / Win7 ekleme / silme komutunda gösterilen tüm uygulamalar nasıl listelenir?


5

Program Ekle / Kaldır listesinde (WinXP / Win7) görüntülenen tüm uygulamaları komut satırı üzerinden listelemeye çalışıyorum. Win7 için cp'den "Programlar ve Özellikler" dendiğini anlıyorum.

Wmic'i denedim, ancak bu yalnızca MSI'ler kullanılarak yüklenen programları listeler. Kayıt defterini sorgulamayı denedim (HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall & ayrıca wow6432node).

Hala Spotify'ı (iyi sınav) kapatamıyorum; Ekle / kaldır bölümünde görünür, ancak bu konumlarda görünmez.

Düşüncesi olan var mı?

-Dom

Yanıtlar:


5

Bu wmickomuttan yapılabilir gibi görünüyor
Bunu deneyin:

wmic product  

Bilgisayarda yüklü olan her şeyin bir listesini gösterir
Kaynaklar:
http://www.sepago.de/d/helge/2010/01/14/how-to-list-all-installed-applications-from-the-command-line http://technet.microsoft.com/en-us/library/bb742610.aspx#ECAA

Bu sayfa Windows Vista ve 7 için olduğunu söylüyor, ancak Windows XP'de wmic testini yaptım
ve Windows komut satırından yüklü uygulamaların listesini alın

Ayrıca, bu sayfa kayıt defteri girişini denetleme yönteminin doğru olamayacağını açıklamaktadır
http://community.spiceworks.com/how_to/show/2238-how-add-remove-programs-works

: Burada WMIC kullanılarak yapılabilir başka ne hakkında biraz daha bilgi
http://betanews.com/2011/01/14/wmic-the-best-command-line-tool-you-ve-never-used/
Bundan web sitesi, özellikle sorununuz için:

Program ayrıca sisteminizin diğer birçok yönüyle ilgili detaylar sağlayabilir. Komutlar gibi:

wmic ürün listesi kısa

wmic servis listesi kısa

wmic işlem listesi kısa

wmic başlangıç ​​listesi kısa

örneğin kurulu yazılımınızı, servislerinizi, çalışan işlemlerinizi ve Windows başlangıç ​​programlarınızı listeler.


0

Tamamlanmadıkları için cmd yaklaşımlarından hiçbirinden memnun kalacağınızı sanmıyorum. Powershell ile iyi misin, o zaman bu bana her şeyi verdi:

If(!([Diagnostics.Process]::GetCurrentProcess(). Path -match ‘\\syswow64\\’)) {
$unistallPath = “\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\”
$unistallWow6432Path = “\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\”
@( if (Test-Path “HKLM:$unistallWow6432Path” ) { Get-ChildItem “HKLM:$unistallWow6432Path”} if (Test-Path “HKLM:$unistallPath” ) { Get-ChildItem “HKLM:$unistallPath” } if (Test-Path “HKCU:$unistallWow6432Path”) { Get-ChildItem “HKCU:$unistallWow6432Path”} if (Test-Path “HKCU:$unistallPath” ) { Get-ChildItem “HKCU:$unistallPath” } ) | ForEach-Object { Get-ItemProperty $_.PSPath } | Where-Object { $_.DisplayName -and !$_.SystemComponent -and !$_.ReleaseType -and !$_.ParentKeyName -and ($_.UninstallString -or $_.NoRemove) } | Sort-Object DisplayName | Select-Object DisplayName
}
else {
“You are running 32-bit Powershell on 64-bit system. Please run 64-bit Powershell instead.” | Write-Host -ForegroundColor Red
}

pause

Bu yüzden, ben bir powershell denen adam değilim, ancak yazılarınızı okunaklı kılmak için düzenlemeyi denedim ve bu sadece biraz daha iyi. Kodu açıklığa kavuşturmak için lütfen gönderinizi düzenleyebilir misiniz? Anahtar, kodu 4 boşlukla girintilemek ve iyi göründüğünden emin olmak için düzenleyicinin altındaki önizlemeye bakmaktır.
Stephen Rauch

Evet, ben de pek değilim, ama bir zamanlar wmic'in mutlaka programlar listesindeki tüm programları üretmediğini öğrendim, her şeyi üreten bir kod arayan günlerce interneti araştırdım. Daha iyi bilseydim, kesinlikle temizlerdim. Giriş için teşekkürler.
Adrian Nielsen
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.