質問するログイン新規登録

回答編集履歴

2

コピペミス(インデント)を修正

2015/05/03 10:42

投稿

htsign
htsign

スコア870

answer CHANGED
@@ -42,7 +42,7 @@
42
42
  Dim query: query = "SELECT * FROM Win32_Volume WHERE DriveLetter='C:'"
43
43
 
44
44
  Dim item
45
- For Each item In wmi.ExecQuery(query)
45
+ For Each item In wmi.ExecQuery(query)
46
46
  MsgBox item.DeviceID
47
47
  Next
48
48
  ```

1

VB.NETとVBScriptバージョンを追記&変数名修正

2015/05/03 10:42

投稿

htsign
htsign

スコア870

answer CHANGED
@@ -6,9 +6,9 @@
6
6
  static void Main(string[] args)
7
7
  {
8
8
  var management = new ManagementClass("Win32_Volume");
9
- var instance = management.GetInstances();
9
+ var instances = management.GetInstances();
10
10
 
11
- foreach (ManagementObject item in instance)
11
+ foreach (ManagementObject item in instances)
12
12
  {
13
13
  if (item["DriveLetter"].ToString() != "C:") continue;
14
14
 
@@ -17,4 +17,32 @@
17
17
  }
18
18
  }
19
19
  ```
20
- `System.Management.dll`への参照が必要です。
20
+ `System.Management.dll`への参照が必要です。
21
+
22
+ ```lang-vbnet
23
+ Module Module1
24
+
25
+ Sub Main()
26
+ Dim management = New ManagementClass("Win32_Volume")
27
+ Dim instances = management.GetInstances()
28
+
29
+ For Each item As ManagementObject In instances
30
+ If item("DriveLetter").ToString() <> "C:" Then Continue For
31
+ Console.WriteLine(item("DeviceID").ToString())
32
+ Next
33
+ End Sub
34
+
35
+ End Module
36
+ ```
37
+ ```lang-vbscript
38
+
39
+ Option Explicit
40
+
41
+ Dim wmi: Set wmi = GetObject("winmgmts:")
42
+ Dim query: query = "SELECT * FROM Win32_Volume WHERE DriveLetter='C:'"
43
+
44
+ Dim item
45
+ For Each item In wmi.ExecQuery(query)
46
+ MsgBox item.DeviceID
47
+ Next
48
+ ```