|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Определение типа системного диска, SSD или HDD |
|
CMD/BAT - [решено] Определение типа системного диска, SSD или HDD
|
![]() Старожил Сообщения: 422 |
Добрый вечер!
Появилась задачка для авто установки Windows. Нужно определить тип системного диска, SSD или HDD, для применения соответствующих настроек. Как это можно сделать из бат файла (SetupComplete.cmd)? Устроит вариант и с дополнительным скриптом или утилитой. |
|
Отправлено: 21:17, 16-10-2012 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать Если кому-нибудь когда-то пригодится, то вот, что у меня получилось:
@echo off for /f "tokens=4-5 delims=. " %%a in ('ver') do set os_ver=%%a.%%b if %os_ver% GTR 6.1 (set i=SCSI set x=0x40) else (set i=IDE set x=0x0) set SSD=0 set HDD=0 set SSD2=0 set HDD2=0 set SSD3=0 set HDD3=0 for /f "tokens=1-8 delims=\" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Enum\%i%" /s ^| find /i "Disk" 2^> nul') do (for /f "usebackq tokens=2*" %%i in (`reg query "%%a\%%b\%%c\%%d\%%e\%%f\%%g"^|Find /I "Capabilities"`) do if %%j==%x% (set HDD=1) else (set SSD=1)) if %os_ver% LSS 6.1 (if %SSD%==1 (echo SSD) else (echo HDD) pause exit) for /f "tokens=1-8 delims=\" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Enum\%i%" /s ^| find /i "Disk" 2^> nul') do (for /f "usebackq tokens=2*" %%i in (`reg query "%%a\%%b\%%c\%%d\%%e\%%f\%%g"^|Find /I "ContainerID"`) do if %%j=={00000000-0000-0000-ffff-ffffffffffff} (set HDD2=1) else (set SSD2=1)) set /a SSD3=%SSD%+%SSD2% if %SSD3%==2 (echo SSD) else (echo HDD) pause |
Отправлено: 17:53, 28-09-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
(*.*) Сообщения: 36561
|
Профиль | Сайт | Отправить PM | Цитировать Bruce Wayne, я делал так https://www.outsidethebox.ms/14817/#_Toc351312873
|
------- Отправлено: 11:52, 02-10-2013 | #3 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать Vadikan, я думал над этим, но единственный минус приведённого Вами способа в том, что не обязательно порог скорости совпадёт даже сейчас, не говоря уже о будущем, когда выйдут более быстрые носители. Но спасибо
![]() |
Отправлено: 15:13, 03-10-2013 | #4 |
(*.*) Сообщения: 36561
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Bruce Wayne:
1. winsat может не отработать из-за проблем с планами электропитания. Но даже это можно обойти:
2. Не учитывается RAID. Что же касается порога скорости, то я (не говоря уж о Microsoft) не вижу причин, по которым HDD должны превысить 8мб/с в скорости случайного чтения. Даже если такое произойдет, поднимите порог до 25 ![]() |
||
------- Отправлено: 13:15, 04-10-2013 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Автоматическое определение типа ОС - 32 или 64 бит. | LonerD | Автоматическая установка Windows 2000/XP/2003 | 35 | 19-08-2013 13:01 | |
CMD/BAT - Определение типа учетной записи через CMD\BAT | axmed0207 | Скриптовые языки администрирования Windows | 2 | 31-07-2012 10:03 | |
CMD/BAT - Определение Системного диска из под Win PE | O L E G | Скриптовые языки администрирования Windows | 0 | 02-07-2012 12:54 | |
Определение типа подключения | Max_Pain | AutoIt | 1 | 09-07-2011 01:52 | |
[решено] Определение типа кодека AC'97 | Giorgievich | Поиск драйверов, прошивок и руководств | 7 | 15-01-2009 19:43 |
|