起動時に特定のドライブをマウントする perl ルーチンを作成しています。ただし、ドライブがマウントされると、「dir$ at 'machinename' (H:)」のような奇妙な名前で「マイ コンピュータ」に表示されます。
マウント時にこの文字列 (または単に 'dir$' 部分?) を指定する perl または C の方法はありますか?
あなたの質問は私には完全に明確ではありませんが、File::Specのsplitpath
メソッドのようなものを意味しますか?
スプリットパス
パスをボリューム、ディレクトリ、およびファイル名の部分に分割します。ボリュームの概念がないシステムでは、ボリュームに対して '' を返します。
- ($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
ファイル名とディレクトリを区別する構文を持たないシステムでは、$no_file が true であるか末尾の区切り文字または / でない限り、最後のファイルがパスであると想定します。または /.. が存在します。Unix では、これは $no_file true がこれを返すことを意味します ( '', $path, '' )。
ディレクトリ部分は、末尾の「/」で返される場合と返されない場合があります。
結果を catpath() に渡して、元のパスと同等の (通常は同一の) パスを取得できます。
多くの検索の後、それを行う1つの方法は、レジストリをモンキーすることです-優れた方法ではありませんが、機能します
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\D\DefaultLabel]
D: ドライブなどの可視ラベルを設定します。