java - md时cmd是否总是打开一个新窗口

标签 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 会破坏机器上的其他东西。)

最佳答案

你应该使用:

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

关于java - md时cmd是否总是打开一个新窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18006594/

相关文章:

java - 如何防止分块数据处理的while循环中的代码重复?

Mac OS X 上的 Java Profiler 工具

c - 什么是MinGW的简单解释

windows - 在 VB.net 中保存设置的最简单方法是什么

excel - 如何通过命令行打印excel?

windows - WMIC命令批量输出非UTF-8文本文件

java - 如何将 node.js 合并到 java 测试中?

java - Apache CXF - 以 http 为中心的方法以及从客户端到服务器的 PUT

c++ - 每 xx 小时执行一次命令的 Windows C++ 代码(类似于 CRON)

linux - Windows 上文件扩展名的问题