Windows7で、起動時にネットワークが初期化しきれない場合があり、

ネットワークドライブの割り当てが解除されてしまう状況に遭遇したため、

バッチファイルを書いた。

マウントするドライブが多いため、ラベルで関数化してある。

ネットワークがつながっていること前提なので、

接続しドライブが出現するまで、1秒待機後、何度も繰り返し試行する。

 

■ Mount.bat

@echo off

rem ユーザーとパスワードを指定
set MountUser=*****
set MountPass=*****

rem ドライブレターとマウント先を指定
call :Mount V: \\192.168.0.250\Share
call :Mount W: \\192.168.0.250\Users
call :Mount X: \\192.168.0.250\Projects
exit /b

:Mount
net use %1 %2 %MountPass% /user:%MountUser%
sleep 1
if not exist %1\ goto Mount
exit /b

rem 現在のユーザーでマウント可能ならば
rem net use %1 %2に変更。ユーザーとパスの指定も不要。

以上をテキストファイルとして拡張子.batで保存。

スタートアップに突っ込む。

ちなみにバッチ中のsleep 1のコマンドは、1秒待機するものであるが、標準のままでは動作しない。

私はGnu On Windowsをインストールしているので、Sleepコマンドが使える。

入れるのも面倒というなら、pingコマンドに入れ替える。

具体的には以下のように。

ping localhost -n 2 > nul

pingコマンドならば、ほとんどのWindowsに入っているため動作する。

localhost(自分)に対してpingを送って待つという実装である。