|

|
|
 |
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では、開始が0でobjDrv.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;
|
|
|
|
|
|