我的客户有一个程序,它位于闪存驱动器上。我想发送一个更新(MSI 或 EXE),删除驱动器上的一个文件并将其替换为另一个文件。
在 Mac 上,这很容易,因为所有外部驱动器都按名称引用并存储在同一个文件夹中(例如 Volumes/MyDrive),但 Windows 使用驱动器号(F:\ E:\),如果客户端有任何不同的设置或只是插入了另一个驱动器,驱动器号就会发生变化。
如何在不使用(可能不正确的)驱动器号的情况下引用目标闪存驱动器?
答案1
请参阅 JosefZ 的评论,了解在 Windows 中获取驱动器名称的绝佳单行解决方案。
我最终还是使用了 Java。以下是相关代码,供以后参考:
FileSystemView fsv = FileSystemView.getFileSystemView();
File[] f = File.listRoots();
for(File file : f)
System.out.println(fsv.getSystemDisplayName(file));