我正在编写一个在启动时安装特定驱动器的 perl 例程。但是,当安装驱动器时,它们会以奇怪的名称出现在“我的电脑”中,例如“dir$ at 'machinename' (H:)”。
perl 或 C 中有没有办法在挂载时指定这个字符串(或者只是 'dir$' 部分?)?
你的问题对我来说并不完全清楚,但你的意思是像File::Spec的splitpath
方法吗?
分裂路径
将路径拆分为卷、目录和文件名部分。在没有体积概念的系统上,返回 '' 表示体积。
- ($volume,$directories,$file) = File::Spec->splitpath($path);
- ($volume,$directories,$file) = File::Spec->splitpath($path, $no_file);
对于没有语法区分文件名和目录的系统,假定最后一个文件是路径,除非 $no_file 为真或尾随分隔符或 /。或 /.. 存在。在 Unix 上,这意味着 $no_file true 会返回 ( '', $path, '' )。
目录部分可能会或可能不会以结尾的“/”返回。
结果可以传递给 catpath() 以获取与原始路径等效(通常相同)的路径。
经过大量搜索后,一种方法是使用注册表进行操作——这不是一个好方法,但它确实有效
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\D\DefaultLabel]
将为 D: 驱动器等设置可见标签。