USB de referência sem letra de unidade

0

Meus clientes têm um programa que está alojado em uma unidade flash. Eu gostaria de enviar uma atualização (MSI ou EXE) que apaga um arquivo na unidade e o substitui por outro.

No Mac, isso é fácil, pois todas as unidades externas são referenciadas por nome e armazenadas na mesma pasta (por exemplo, Volumes / MyDrive), mas o Windows usa letras de unidade (F: \ E: \) que podem mudar se o cliente configurações diferentes ou até mesmo apenas outro drive conectado.

Como posso fazer referência à unidade flash de destino sem ter que usar uma letra de unidade (possivelmente incorreta)?

    
por corpico 12.10.2016 / 18:53

1 resposta

0

Veja o comentário de JosefZ para uma ótima solução de uma linha para obter nomes de drives no Windows.

Acabei usando o Java no final. Aqui está o código relevante para referência futura:

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