package com.lxzn.system;
|
|
import java.io.BufferedReader;
|
import java.io.File;
|
import java.io.FileWriter;
|
import java.io.InputStreamReader;
|
|
/**
|
* @Description:
|
* @Author: zhangherong
|
* @Date: Created in 2021/6/15 10:50
|
* @Version: 1.0
|
* @Modified By:
|
*/
|
public class DiskUtil {
|
public static String getSerialNumber(String drive){
|
String result = "";
|
|
try {
|
File file = File.createTempFile("realhowto",".vbs");
|
file.deleteOnExit();
|
FileWriter fw = new java.io.FileWriter(file);
|
|
String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n"
|
+"Set colDrives = objFSO.Drives\n"
|
+"Set objDrive = colDrives.item(\"" + drive + "\")\n"
|
+"Wscript.Echo objDrive.SerialNumber";
|
// see note
|
fw.write(vbs);
|
fw.close();
|
Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
|
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
|
String line;
|
while ((line = input.readLine()) != null) {
|
result += line;
|
}
|
input.close();
|
} catch(Exception e){
|
e.printStackTrace();
|
}
|
return result.trim();
|
}
|
|
public static void main(String[] args) {
|
String sn = DiskUtil.getSerialNumber("C");
|
System.out.println(sn);
|
}
|
}
|