Кажется, есть два подхода, оба перечислены в этом вопросе / ответе на ServerFault. Я очень предпочитаю подход VBScript, который также описан здесь.
Set oShell = CreateObject("Shell.Application")
oShell.NameSpace("H:\").Self.Name = "your_label"
Поэтому я хотел бы создать небольшой сценарий VBScript, который принимает букву диска в качестве одного параметра и новую метку в качестве второго. Мой VBScript ржавый, но в соответствии с этим вопросом переполнения стека, что-то вроде этого:
Set oShell = CreateObject("Shell.Application")
oShell.NameSpace(WScript.Arguments.Item(0)).Self.Name = WScript.Arguments.Item(1)
Если вы называете это rename_drive.vbs, вы можете выполнить его как
wscript rename_drive.vbs H:\ new_drive_name
Конечно, если вам удобно создавать COM-объекты из Java, вы можете сделать это напрямую.