ネットワークドライブを割り当てる

ネットワークドライブを割り当てる単純なスクリプトです。

単純ですがファイルサーバ等の共有ディレクトリを参照するときなんか便利です。

NetworkDriveMount.bat

@ECHO OFF
REM ネットワークドライブをマウントします。

SET URL="\\hogehoge.local\music"
SET DRIVE="X"

if EXIST %DRIVE%:\ NET USE %DRIVE%: /DELETE
NET USE %DRIVE%: %URL%

SET URL=
SET DRIVE=

EXIT

NetworkDriveMount.vbs

'********************************
'*
'* Module Name: NetworkDriveMount.vbs
'* Version:     1.0
'* Abstract:    ネットワークドライブをマウント
'*
'********************************
Option Explicit

'変数の宣言
Dim objNet

Set objNet = CreateObject("WScript.Network")

On Error Resume Next

'既にマウントされているドライブの削除
objNet.RemoveNetworkDrive "I:", True, True

'ネットワークドライブをマウント
objNet.MapNetworkDrive "I:",\\hogehoge.local\Files,True

'オブジェクトの解放
Set objNet = Nothing

これをログオンスクリプトに仕込んでクライアントが端末にログインした時に実行されるようにします。
どちらのスクリプトでも一応動くと思います。

2007/10/30追記:Functionでコードをまとめてみました。

'***************************************
'* Module Name: NetWorkDriveMount.vbs
'* Version:     1.2
'* Abstract:    NetWorkDriveをマウントします。
'***************************************
OPTION EXPLICIT

Dim strMountDrive  'ドライブパス
Dim strDirPath   'ディレクトリパス

'例Call NetWorkDriveMount("G:","\\serv00\Data")
Call NetWorkDriveMount("G:","\\serv00\Data")

Function NetWorkDriveMount(strMountDrive,strDirPath)
	Dim objFso
	Dim objNet

	Set objFso = CreateObject("Scripting.FileSystemObject")
	Set objNet = CreateObject("WScript.Network")

	If objFso.FolderExists(strMountDrive) Then
	 objNet.RemoveNetworkDrive strMountDrive,True
	 objNet.MapNetworkDrive strMountDrive,strDirPath
	Else
	 objNet.MapNetworkDrive strMountDrive,strDirPath
	End If

	Set objFso = Nothing
	Set objNet = Nothing
End Function

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です