質問: ボリュームラベルでパス指定する方法は? usbメモリやsdカードにボリュームラベルを設定できると思いますが、そのメモリ内にあるファイルを指定する際に、ボリューム名でパス指定する方法はありますでしょうか? 必要性は、あるアプリケーションから、usbメモリやsdカードの特定のファイルに毎回決まったパスでアクセスしたいからです。 例えば g:ドライブにtestというボリューム名を付与したとし、そのトップにtest.txtというファイルがあるとします。 その際、通常は g:\test.txt でアクセスできると思うのですが、usbメモリやsdカードは、変わる可能性(※)があるので、ボリューム名であれば、自信で変えなければ変更されることはないと思うので、 test:\test.txt などでアクセスできないかと考えています。 (※) ドライブ名が変更されないように、ドライブ名を固定する方法が http://oshiete.goo.ne.jp/qa/2384276.html 等で説明されておりますが、ここで指定したドライブ名が毎回固定される理屈がわかりません。 usbメモリやsdカードのユニークな識別子があって、その識別子をosが覚えていて、そのメモリが接続されたときにその識別子に対応するドライブ名を割りつけるということなのでしょうか?そのような識別子が存在するのかがわかっていないためです。
回答: あーちょっと私の方でも勘違いしていました これはドライブレターが変わるのでは無く、指定したフォルダを仮想ドライブに作るというコマンドでしたね。 たとえばgドライブにtest.txtというファイルを作る場合。 まずusbメモリー内にtestフォルダを作りそこにtest.txtを入れる ↓ usbメモリーを刺す ↓ usbメモリーにlドライブが割り当てられる ↓ バッチ起動 ↓ gドライブ(仮想ドライブなので実際には存在しない)ができ、そこにg:¥text¥test.txtというファイルが作られる。 (元のl:¥text¥test.txtも残る。というかusbメモリを抜くとg:¥text¥test.txtにアクセスできない) 要は仮想のショートカットを作るみたいな感じです。 ちなみにgドライブが実際に存在していても問題ありません。ただしgドライブにg:¥text¥test.txtがあると、上手く行きません。