Автор Тема: Количество дисков SSD/HDD  (Прочитано 1012 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Scampy [?]

  • Новичок
  • *
  • Сообщений: 41
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.12.0
Количество дисков SSD/HDD
« Создано: Декабрь 02, 2016, 21:47:43 »
Всем доброго времени суток!
Есть стандартный скрипт по определению SSD/HDD дисков в системе:
Код: AutoIt [Выделить]
#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>

$typedisk = DriveGetType(0, 2)
$typedisk1 = DriveGetType(1, 2)
$typedisk2 = DriveGetType(2, 2)
If $typedisk = "" Then typedisk = "HDD"
If $typedisk1 = "" Then $typedisk1 = "HDD"
If $typedisk2 = "" Then $typedisk2 = "HDD"
MsgBox(4096, "Диски", $typedisk & @CRLF & $typedisk1 & @CRLF & $typedisk2)
 

Вопрос в чем... сколько бы "$typedisk" не добавлялось, все равно идет их определение и соответственно результат. Как сделать, чтоб определялось только реальное число дисков?

Русское сообщество AutoIt

Количество дисков SSD/HDD
« Отправлен: Декабрь 02, 2016, 21:47:43 »

Оффлайн Alofa [?]

  • Скриптер
  • ****
  • Сообщений: 853
  • Репутация: 101
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Количество дисков SSD/HDD
« Ответ #1, Отправлен: Декабрь 02, 2016, 22:27:52 »
... Есть стандартный скрипт ...
А где такой взяли?

Код: AutoIt [Выделить]
#include <Array.au3>

Local $aArray = DriveGetDrive('FIXED')

For $i = 1 To 3
    _ArrayColInsert($aArray, $i)
    For $j = 1 To $aArray[0][0]
        $aArray[$j][$i] = DriveGetType($aArray[$j][0], $i)
    Next
Next
_ArrayDisplay($aArray)
 

----------------------- Вы думаете, всё так просто? Да, всё просто. Но совсем не так. -----------------------
Альберт Эйнштейн.

Оффлайн Scampy [?]

  • Новичок
  • *
  • Сообщений: 41

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Количество дисков SSD/HDD
« Ответ #2, Отправлен: Декабрь 02, 2016, 22:47:42 »
... Есть стандартный скрипт ...
А где такой взяли?

Код: AutoIt [Выделить]
#include <Array.au3>

Local $aArray = DriveGetDrive('FIXED')

For $i = 1 To 3
    _ArrayColInsert($aArray, $i)
    For $j = 1 To $aArray[0][0]
        $aArray[$j][$i] = DriveGetType($aArray[$j][0], $i)
    Next
Next
_ArrayDisplay($aArray)
 

Не совсем правильно выразился... команда имелась ввиду, а не весь код. В вашем примере отображаются все диски всех дисков... а нужно только диски как девайс.

Оффлайн Alofa [?]

  • Скриптер
  • ****
  • Сообщений: 853
  • Репутация: 101
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Количество дисков SSD/HDD
« Ответ #3, Отправлен: Декабрь 03, 2016, 01:06:24 »
... по определению SSD/HDD дисков в системе:
...
... Как сделать, чтоб определялось только реальное число дисков?
В Операционной системе или на компьютере?

... Не совсем правильно выразился...
Это очевидно.

... команда имелась ввиду, а не весь код.
Что вы называете командой?
Если нижеследующее для вас "команда", тогда смотрите ее описание и пример в Справке.
Код: AutoIt [Выделить]

Русское сообщество AutoIt

Re: Количество дисков SSD/HDD
« Ответ #3 Отправлен: Декабрь 03, 2016, 01:06:24 »

Оффлайн Scampy [?]

  • Новичок
  • *
  • Сообщений: 41

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Количество дисков SSD/HDD
« Ответ #4, Отправлен: Декабрь 03, 2016, 13:07:03 »
В Операционной системе или на компьютере?
В операционной системе. Реально работающих в данный момент. За ссылку спасибо.
А что подразумевалось в фразе "на компьютере"?

Оффлайн СН3СН2ОН [?]

  • Новичок
  • *
  • Сообщений: 65
  • Репутация: 8
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.2.8.1
Re: Количество дисков SSD/HDD
« Ответ #5, Отправлен: Декабрь 03, 2016, 15:24:43 »
В операционной системе. Реально работающих в данный момент. За ссылку спасибо.
[/quote]
Справку не читаете?
Вот пример из неё:
(нажмите для показа/скрытия)
А дальше, используя код Alofa и функцию DriveGetType (Возвращает тип устройства: "Unknown", "Removable", "Fixed", "Network", "CDROM", "RAMDisk"), ищем тип дисков.
Япрофиэтосерьезно

Оффлайн Alofa [?]

  • Скриптер
  • ****
  • Сообщений: 853
  • Репутация: 101
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Количество дисков SSD/HDD
« Ответ #6, Отправлен: Декабрь 03, 2016, 22:11:27 »
... А что подразумевалось в фразе "на компьютере"?
А что подразумевалось во фразе?
... Реально работающих в данный момент.
Я так подразумеваю вы хотите вычислить физические диски, а не логические.
Что такое физический диск и что такое логический диск?

Оффлайн Scampy [?]

  • Новичок
  • *
  • Сообщений: 41

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Количество дисков SSD/HDD
« Ответ #7, Отправлен: Декабрь 04, 2016, 17:21:26 »
Я так подразумеваю вы хотите вычислить физические диски, а не логические.
Да, именно физические диски. Железо. Недопоняли мы друг друга. Хотел написать понятней, а вышло наоборот. Извиняюсь.

Русское сообщество AutoIt

Re: Количество дисков SSD/HDD
« Ответ #7 Отправлен: Декабрь 04, 2016, 17:21:26 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
13 Ответов
9351 Просмотров
Последний ответ Декабрь 10, 2009, 09:11:23
от Heler
2 Ответов
5162 Просмотров
Последний ответ Февраль 26, 2010, 19:24:04
от CreatoR
5 Ответов
6633 Просмотров
Последний ответ Август 20, 2010, 15:26:06
от amel27
1 Ответов
1862 Просмотров
Последний ответ Февраль 15, 2012, 23:09:33
от AZJIO
9 Ответов
5702 Просмотров
Последний ответ Март 03, 2012, 19:14:52
от vanekzver
4 Ответов
2063 Просмотров
Последний ответ Январь 14, 2013, 17:15:38
от Pavci
1 Ответов
2761 Просмотров
Последний ответ Апрель 09, 2014, 06:54:55
от kalugin66
33 Ответов
8265 Просмотров
Последний ответ Январь 26, 2015, 09:53:01
от Aleksandr Prilutskiy
4 Ответов
1436 Просмотров
Последний ответ Январь 12, 2015, 18:48:28
от ZeVSalt
2 Ответов
891 Просмотров
Последний ответ Март 13, 2015, 14:51:34
от Vlasssov