У моих клиентов есть программа, которая размещена на флешке. Я хотел бы отправить обновление (MSI или EXE), которое удаляет один файл на диске и заменяет его другим.

На Mac это легко, так как все внешние диски имеют ссылки по имени и хранятся в одной папке (например, Volumes/MyDrive), но Windows использует буквы дисков (F:\ E:\), которые могут измениться, если у клиента есть какие-либо другие настройки или даже просто подключен другой диск.

Как я могу сослаться на целевую флешку, не используя (возможно неправильную) букву диска?

1 ответ1

0

См. Комментарий JosefZ для отличного однострочного решения для получения имен дисков в Windows.

В конце концов я использовал Java. Вот соответствующий код для дальнейшего использования:

FileSystemView fsv = FileSystemView.getFileSystemView();
File[] f = File.listRoots();
for(File file : f)
    System.out.println(fsv.getSystemDisplayName(file));

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .