本サイトはアフィリエイト広告を使用しています。

バッチファイル(.bat)でのドライブ特定方法

USBメモリなどはパソコンに接続する度にドライブ文字が変更されます。
相対参照など使用できない状態でのコマンドプロンプトによるドライブ文字の特定方法となります。

参照:WinPE:スクリプトによるドライブ文字の識別

ドライブ特定用スクリプト

前提条件としてドライブを特定するためのフォルダーかファイルを作成しておく必要があります。
サンプルスクリプトはドライブ直下に”images“フォルダーがあり、そのフォルダーを探すスクリプトとなります。

1行目は「”images“という名前のファルダーがあるドライブを見つけます」という説明文なのでなくて大丈夫です。

2行目は”C”から”Z”まで順番に”images“というフォルダーがあるか確認し、あればシステム変数IMAGESDRIVEに割り当てるスクリプトとなります。
※実質必要なスクリプトはこの1行のみです。システム変数を流用することになります。
※”C”から順番に確認されるため、同名のフォルダーがある場合は最初に参照されたドライブが対象となります。
 ”C”と”D”に”images“フォルダーが存在する場合は”D”が参照されることはありません

3行目は特定したドライブ文字を表示するスクリプトです。

@echo Find a drive that has a folder titled images.
@for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do @if exist %%a:\images\ set IMAGESDRIVE=%%a
@echo The images folder is on drive: %IMAGESDRIVE%

コメント