【发布时间】:2017-04-30 00:34:38
【问题描述】:
我刚开始用 Java 编写代码,我正在尝试制作一个程序来在单击 JButton 时运行 chkdsk。我将在这里放一些代码,以便你们帮助我:
String disk = JOptionPane.showInputDialog(Janela, "Especifique a letra do disco (Exemplo: C:)", "CHKDSK /F", JOptionPane.QUESTION_MESSAGE);
if (disk.length() == 2 && disk.endsWith(":")) {
try {
String disk2 = ("fsutil dirty set " + disk)
ProcessBuilder chkdskf = new ProcessBuilder("cmd.exe", "/C", "start", disk2);
Process chkdskff = chkdskf.start();
}
catch (IOException fnfex2) {
System.out.println ("Erro no CHKDSK /F");
}
}
else {
JOptionPane.showMessageDialog(Janela, "Erro!", "Erro", JOptionPane.ERROR_MESSAGE);
}
因此,它会显示一个 InputDialog,因此您可以输入一个驱动器号(如 C: 或 D:),然后它会检查该字符串是否是我想要的方式。 (有两个字符并以“:”结尾)。然后,它使用命令启动一个新的 cmd 窗口,使 chkdsk 在下次重新启动时运行。但是,它不起作用。执行代码时打开的CMD窗口标题为“fsutildirty set C:”,但是什么也没发生,没有执行命令。任何帮助表示赞赏,并为我糟糕的英语感到抱歉。
【问题讨论】:
标签: java joptionpane processbuilder string-length ends-with