командний рядок Windows: чи можу я вказати номер сервісного пакета?


12

Чи є спосіб отримати номер сервісного пакета з командного рядка? Або номер збірки з командного рядка (з якого я можу повідомити номер сервісного пакету (див. Як я можу визначити версію Windows та пакет оновлення з WindowsUpdateLog.txt ))?

Після запуску cmdна екрані відображається частина номера версії Windows, але не номер сервісного пакета.

Я віддаю перевагу відповіді, що не відповідає PowerShell, але я не заперечую, щоб знати про відповідь PowerShell все одно, оскільки деякі комп’ютери, з якими я маю справу, мають її встановити.


Відповіді:


15
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" 

Джерело: Знайдіть версію Windows з командного рядка


Це єдиний, який працює на всіх комп’ютерах, на яких я пробував ці методи.
Олександр Птах

ps - вищезгадане працює лише в тому випадку, якщо мовою користувача є англійська, оскільки фільтр рядків використовує англійські імена. Використання системної інформації самостійно працюватиме на будь-якій мові - хоча це вимагає ручного зусилля для пошуку всіх повернених даних.
JohnLBevan

9

Ви можете отримати його за допомогою WMIC - wmic os отримати servicepackmajorversion

Докладніше про використання WMIC див. У цьому маленькому підручнику: http://quux.wiki.zoho.com/WMIC-Snippets.html


Чи встановлено wmic на всіх комп'ютерах Windows? чомусь мій домашній комп'ютер не розпізнає wmic.
Олександр Птах

1
Дивовижний інструмент, дякую за обмін! @ Thr4wn, згідно Вікіпедії, WMIC не доступний у Windows XP Home Edition, але він доступний у XP Pro та всіх пізніших версіях Windows.
nhinkle

6

Ви можете ввести CMD:

Winver


приємна відповідь! .... +1, коли я отримаю більше голосів
studiohack

2
Хм ... проблема з цим полягає в тому, що він відкриває інструмент графічного інтерфейсу, який може бути не тим, що намагається зробити користувач.
nhinkle

2
SYSTEMINFO, запущений у командному рядку, відображатиметься без GUI.
r0ca

1
У cmd.exeви можете використовувати тільки verі отримати версію на стандартний висновок. Але вам потрібно перетворити номер збірки, щоб отримати SP.
Річард

verне вказує повний номер версії. Він зупиняється безпосередньо перед номером сервісного пакета.
Олександр Птах

1

Ви можете отримати його з командного рядка, запитуючи реєстр для ключа ServicePack. Якщо SP встановлений, він буде показаний, інакше буде сказано, що він не зміг знайти вказаний ключ, і в цьому випадку немає пакета обслуговування.

reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v ServicePack

Це працює лише за наявності встановленого пакета оновлень (наприклад, зараз у Windows 7 немає пакета оновлень, тому ключ не існує)
misterjaytee

Я знаю; ось що я заявив у своїй відповіді. Якщо ключа не існує, пакет оновлень не існує, значить, це SP0. Якщо ключ існує, він повідомить вам про пакет послуг. Так що в будь-якому випадку ви можете зрозуміти, який пакет послуг (якщо такий є) встановлений.
nhinkle

Коли я пробую рішення Giri, він показує SP 3, але цей метод повідомляє, що не вдалося знайти вказаний ключ реєстру або значення (я скопіював / вставив команду в cmd).
Олександр Птах

Замість "ServicePack" ви можете використовувати "ProductName" та "CSDVersion"
d.moncada
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.