Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当你使用md时,cmd是否总是打开一个新窗口_Java_Windows_Cmd_Mkdir - Fatal编程技术网

Java 当你使用md时,cmd是否总是打开一个新窗口

Java 当你使用md时,cmd是否总是打开一个新窗口,java,windows,cmd,mkdir,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); 这可以很好

我正在进行一个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可以破坏机器上的其他东西。)

为什么不使用
文件创建dir

new File("C:\\my\\path\\myDir").mkdir();
你应使用:

    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);

创建目录不需要运行外部命令。使用API。我们应该开始推荐使用NIO方式<代码>文件.createDirectory(路径,文件属性)