【问题标题】:Pass variable from Java to Batch将变量从 Java 传递到批处理
【发布时间】:2021-08-09 16:59:47
【问题描述】:

这个Java程序打开一个批处理文件并传递字符串folderName

public class FolderCreator {

    public static void main(String[] args) {
        try{    
            Process p = Runtime.getRuntime().exec("C:/Documents/NameFolder.bat folderName");
            p.waitFor();
        }catch(Exception e) {
            System.out.println(e);
        }   
    }
}

这是 NameFolder.bat 文件。它应该使用上面传递的 Java 变量的名称创建一个文件夹。

//What do I need to ad here?

if not exist "C:\Desktop\folderName\" mkdir C:\Desktop\folderName

我需要在批处理文件中添加什么?

编辑:

这行得通

if not exist "C:\Desktop\%1\" mkdir C:\Desktop\%1

【问题讨论】:

  • 您是在寻求 Java 或 Batch 方面的帮助吗?
  • 我需要在批处理文件中添加什么
  • %1 工作吗?
  • 您是否通过args 收到此folderName?既然有java.nio,为什么还要通过Java 使用脚本语言?您可以创建一个指向桌面的Path,然后创建一个resolve 文件夹名称...

标签: java batch-file batch-rename


【解决方案1】:

批处理脚本

只有在目录不存在时才会创建目录

if not exist "C:\Users\%USERNAME%\Desktop\%1" (
  mkdir  "C:\Users\%USERNAME%\Desktop\%1"
)

假设您将其保存到文件 C:/Documents/NameFolder.bat 您只需使用完全相同的 Java 代码执行它

Process p = Runtime.getRuntime().exec("C:/Documents/NameFolder.bat folderName");

这将创建一个c:\Users\%USERNAME%\Desktop\folderName 目录,前提是该目录尚不存在。

这不是最佳做法。请阅读从 Java 执行 shell/批处理脚本

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多