UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

ドライブがあるか無いかチェック方法

ドライブがあるか無いかチェック方法


0.改訂履歴

  • 2002.10.06 新規作成

1.はじめに

 このドキュメントでは,Windows2000で,バッチプログラムでドライブがあるか無いかチェックする手順を説明する.

2.existとnulを使う

  • MS-DOSの頃から,ディレクトリには,仮想的にnulというファイルがある.
  • ドライブがマウントされているか居ないか,このファイルの存在チェックを行えばよい.
  • まず,ネットワークドライブをマウントしてみる.
D:\>net use S: \\10.0.4.70\c$
コマンドは正常に終了しました。



D:\>
  • そのドライブに,nulファイルがあるか確認してみる.
D:\>if exist S:\nul echo AHO
AHO

D:\>
  • AHOが表示されたので,ドライブがある事になる.
  • 次に,ネットワークドライブを削除する.
D:\>net use s: /delete
s: が削除されました。



D:\>
  • 先ほどと同じ,if文を使ってテストする.
D:\>if exist S:\nul echo AHO

D:\>
  • AHOが表示されないので,ドライブが無い事が判る.
  • ちなみに,Windows2000だと,nulファイルを指定しなくてもドライブの判断は可能のよう.
D:\>net use S: \\10.0.4.70\c$
コマンドは正常に終了しました。



D:\>if exist S: echo AHO
AHO

D:\>
  • 昔?のOSは,if existでファイルは判断できたけどディレクトリは判断できなかったんだが...

3.応用

  • これを応用して次のようなバッチファイルを作る事が出来る.
@echo off

rem Unmount network drive.
if exist S: net use s: /delete

rem Mount network drive.
net use S: \\10.0.4.70\C$

if exist s:\nul goto :SUCCESS
goto :ERROR_PROCESS

:SUCCESS
echo Over night success!
goto :EOF


:ERROR_PROCESS
echo Error! Please Retry!
goto :EOF
  • 何に使うのだろう?


広告スペース
Google