Ykidia
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вот, увидел решение схожей задачи здесь, однако мне и этого мало. К примеру, я решил попробовать искать номер диска для diskpart не по размеру (хотя увидел где-то, как можно сравнивать большие числа - надо просто "откусывать" от строки с числом младшие разряды, а потом сравнивать их как обычно), а по типу - оказалось, diskpart показывает тип носителя, если, выбрав диск, дать команду detail disk. То есть, скрипт для diskpart Код: select disk 0 detail disk | позволяет узнать тип носителя, вот у меня результат вывода на одной из машин (без RAID'а): Код: Microsoft DiskPart, версия 5.1.3564 (С) Корпорация Майкрософт (Microsoft Corp.), 1999-2003. На компьютере: P4-KONST Выбран диск 0. ST3160827AS Код диска:8F800000 Тип : IDE Шина : 1 Конечный : 0 LUN ID : 0 Том ### Имя Метка ФС Тип Размер Состояние Сведения ---------- --- ----------- ----- ---------- ------- --------- -------- Том 1 C SYS NTFS Раздел 39 GB Исправен Системны Том 2 E DATA NTFS Раздел 64 GB Исправен Завершение работы DiskPart... | А на машине с RAID'ом на диске 1 тип диска 1 показывает соответственно "RAID". И у меня два вопроса. 1) Хотел красиво сделать как по приведенной ссылке, передать diskpart'у вышеуказанные две строчки посредством echo в цикле for с поиском строки "RAID". Но на такие строки Код: for %%i in (0 1 2 3 4) do ( for /f "tokens=3" %%a in ('("@echo select disk %%i&@echo detail disk")^|diskpart >nul^|findstr "RAID"') do (set raiddisknumber=%%i) set raiddisknumber ) | ругается, когда я добавляю ("@echo select disk %%i&@echo detail disk") вместо чего-нибудь простого. Как правильно объединить и вообще есть ли такая возможность? Или придется передавать эти пару строк через файл скрипта для diskpart? 2) Выше показан пример вывода команды detail для diskpart. Как можно видеть, если есть тома, то выводятся тома и их названия меток. Таким образом, если есть метка, совпадающая с "RAID", строка "RAID" будет найдена, даже если тип носителя не-RAID. Как мне ограничить поиск нужной строки только в конкретном месте (например, до строки "LUN ID" или до строки "---")? | Всего записей: 242 | Зарегистр. 03-03-2005 | Отправлено: 17:53 29-01-2010 | Исправлено: Ykidia, 18:10 29-01-2010 |
|