开发者

How can I specify the name of a mounted drive in Windows when mounting programmatically?

I am writing a perl routine that mounts specific drives at startup. However, when the drives are mounted, they appear in "My Computer" with odd names like "dir$ at 'machinename' (H:)".开发者_开发知识库

Is there a way in perl or C to specify this string (or just the 'dir$' part?) at mount-time?


You question is not entirely clear to me, but do you mean something like File::Spec's splitpath method?

splitpath

Splits a path in to volume, directory, and filename portions. On systems with no concept of volume, returns '' for volume.

  1. ($volume,$directories,$file) = File::Spec->splitpath( $path );
  2. ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );

For systems with no syntax differentiating filenames from directories, assumes that the last file is a path unless $no_file is true or a trailing separator or /. or /.. is present. On Unix, this means that $no_file true makes this return ( '', $path, '' ).

The directory portion may or may not be returned with a trailing '/'.

The results can be passed to catpath() to get back a path equivalent to (usually identical to) the original path.


After much searching, one way to do it is by monkeying with the registry--not a great method, but it works

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\D\DefaultLabel]

will set the visible label for the D: drive, etc.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜