当md时,cmd总是打开一个新窗口

时间:2013-08-01 23:56:18

标签: java windows cmd mkdir

我正处于Java项目中,其中一部分是调用Windows cmd来创建目录。我的代码目前看起来像这样:

    Runtime rt = Runtime.getRuntime();
    String command;
    command = "cmd.exe /c start mkdir \"C:\\Users\\User1\\Documents\\Folder1\\"+folderName+"\" &&exit";
    rt.exec(command);

这样可以正常工作(创建文件夹),但它会生成另一个cmd实例。 (我最初添加了“&& exit”,认为它会消除额外的窗口,但我现在意识到这是不必要的代码。)

1)我可以阻止这个额外的cmd实例(从新目录开始)或

2)我可以关闭这个额外的cmd窗口而不会引起其他问题吗? (我听说杀死cmd会破坏机器上的其他东西。)

2 个答案:

答案 0 :(得分:1)

为什么不用File创建目录?

new File("C:\\my\\path\\myDir").mkdir();

答案 1 :(得分:1)

您应该使用:

    File file = new File("C:\\Users\\User1\\Documents\\Folder1\\"+folderName+"\"");

    if(!file.exists())
    {
        file.mkdir();
    }

代替。但是,如果要在不创建新命令的情况下将命令调用到cmd,则不应调用“cmd.exe / c start”。你可以检查一下,如果从外部java运行那个相同的命令,它也会启动一个新的cmd。试试这个:

Runtime rt = Runtime.getRuntime();
String command;
command = "mkdir \"C:\\Users\\User1\\Documents\\Folder1\\"+folderName+"\" &&exit";
rt.exec(command);