9.4 ネットワークドライブの一覧を得る
 自分のコンピュータにマウントされているネットワークドライブの情報が欲しいときの方法です。ネットワークオブジェクトのEnumNetworkDrives というメソッドを使います。
使用例
 EnumNetworkDrivesの使用例です。例は、自分のコンピュータにマウントされているネットワークドライブの一覧を表示しています。

 ネットワークドライブの方法を選るには、まずはEnumNetworkDrivesメソッドを使ってドライブ情報オブジェクトを作成(@)します。このオブジェクトには、ネットワークドライブの数や、ドライブ名、そのパスなどの情報が入ります。例では、変数objDrvの中になります。。

 ネットワークドライブの数やドライブ名などの情報を取り出すときは、ドライブ情報オブジェクト(objDrv)のプロパティを使います。ドライブ名と、そのパスはItemというプロパティの中に入ります。このプロパティは0から始まるインデックスで参照し、先頭からドライブ名、パス、ドライブ名、パス…のように、ドライブ名とパスが交互に入っています。※下図参照
Item(n)の格納例 n 0 1 2 3 4 5 6 7
情報 F: \\FS01\GROUP2 G: \\FS01\GROUP1 H: \\FS01\GROUP3 I: \\FS01\GROUP5

 また、情報がいくつあるかはCountメソッド(A)で参照できます。上図のように入っている場合は7になります。

 For 〜 Nextでは、開始が0objDrv.Count Step Count - 1 Step 2なので0、2、4、6…のように1ずつ飛んでiがカウントされますが、こうすることでItem(i)がドライブ名、Item(i+1)がそのパスとして参照(B)できます。

 ■VBScriptの記述例
Option Explicit

Dim objNwtWork
Dim objDrv
Dim i

'ネットワークオブジェクトを作成します
Set objNwtWork = CreateObject("WScript.Network")

'@ネットワークドライブの一覧を取得します
Set objDrv = objNwtWork.EnumNetworkDrives

'A情報の数はCountプロパティで参照します
For i = 0 to objDrv.Count - 1 Step 2
    'Bネットワークドライブの情報を表示します
    WScript.Echo "ドライブ名 " & objDrv.Item(i) & " , パス " & objDrv.Item(i+1)
Next

Set objDrv = Nothing

 ■JScript(JavaScript)の記述例
var i

//ネットワークオブジェクトを作成します
var objNwtWork = new ActiveXObject("WScript.Network");

//@ネットワークドライブの一覧を取得します
var objDrv = objNwtWork.EnumNetworkDrives();

//A情報の数はCountプロパティで参照します
for(i=0;i < objDrv.Count() - 1;i+=2) {
    //Bネットワークドライブの情報を表示します
    WScript.echo("ドライブ名 " + objDrv.Item(i) + " , パス " + objDrv.Item(i+1));
}

objDrv = null;
Copyright(C) 1999-2006 結城圭介。 All rights reserved