Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Как получить порядковый номер диска в качестве переменной (http://forum.oszone.net/showthread.php?t=196507)

AUTO-NEK 13-01-2011 06:18 1587433

Как получить порядковый номер диска в качестве переменной
 
Есть батник в качестве параметра которому требуется указывать порядковый номер диска(номер передает программе). Батник запускается на разных машинах со сменного носителя. Вопрос в том, как можно сделать так чтобы он автоматически получал номер того диска с которого он запускается.

amel27 13-01-2011 08:08 1587455

Цитата:

Цитата AUTO-NEK
номер того диска с которого он запускается »

какой номер имеется ввиду?.. серийный, порядковый буквы или тот, что в диспетчере дисков:
Код:

wmic diskdrive get deviceid, model

AUTO-NEK 13-01-2011 18:19 1587918

тот который в оснастке Панель управление>Администрирование>Управление компьютером>управление дисками
тоесть порядковый номер диска. (В этот список входят только жесткие диски и сьемные устройства, 1 физическое ус-во 1 номер.)

Да вот deviceid то что нужно, но как получить в переменную deviceid того устройства с которого запущен батник?

ну если есть вариант просто посчитать сколько всего таких устройств в системе, тоже сойдет. Ведь нужное устройство подключаеться последним. Останеться только отнять 1.

SendMessage 14-01-2011 01:13 1588201

Может так?
Код:

wmic diskdrive get index

AUTO-NEK 14-01-2011 02:14 1588227

amel27
SendMessage
Спасибо, это именно те номера которые мне нужны, но как узнать и передать в качестве переменной номер конкретного устройства(например по тому что это устройство было подключено последним, по букве или по каким либо индивидуальным параметрам)?

что типо этого
Код:

wmic Diskdrive where "volume name=%~d0" get index
только чтобы работало )

SendMessage 14-01-2011 03:11 1588238

Цитата:

Цитата AUTO-NEK
как передать наибольший по величине номер в качестве переменной? »

Код:

for /f %%I in ('wmic diskdrive get index') do set "DI=%%I"
Получить в переменную индекс диска, на котором запущен батник (виртдиски не катят) можно так:
Код:

for /f "tokens=2 delims=#," %%I in (
'wmic path win32_logicaldisktopartition
 get dependent^,antecedent ^| find /i "%~d0"'
 ) do set "DI=%%I"


AUTO-NEK 14-01-2011 18:57 1588813

SendMessage. Спасибо именно это мне и нужно было.


Время: 08:38.

Время: 08:38.
© OSzone.net 2001-