package ilarkesto.mswin; import ilarkesto.base.Proc; /** * Utility for mounting and unmounting of drives on MsWindows. * * @author wko */ public class DriveMounter { public static void main(String[] args) { mount('b', "\\\\devsrv1\\bpm", "DA100001\\a101zi8", "!23geheim", false); // unmount('b'); } // TODO public static Map<Character,String> getMountedDrives(); public static void mount(char driveLetter, String networkSharePath, String user, String password, boolean persistent) { Proc proc = new Proc("NET"); proc.addParameter("USE"); proc.addParameter(driveLetter + ":"); proc.addParameter(networkSharePath); if (password != null) proc.addParameter(password); if (user != null) proc.addParameter("/USER:" + user); proc.addParameter("/PERSISTENT:" + (persistent ? "YES" : "NO")); proc.start(); if (proc.getReturnCode() != 0) { throw new RuntimeException(proc.getOutput()); } } public static void unmount(char driveLetter) { Proc proc = new Proc("NET"); proc.addParameter("USE"); proc.addParameter(driveLetter + ":"); proc.addParameter("/DELETE"); proc.start(); if (proc.getReturnCode() != 0) { throw new RuntimeException(proc.getOutput()); } } private DriveMounter() {} }