将 Java 中的变量传递给 Batch
Pass variable from Java to Batch
这个 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
批处理脚本
The following will create a directory only if that directory does not exist
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
目录不存在时才会创建该目录。
This is not best practice. Please read up on executing shell/batch scripts from Java
这个 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
批处理脚本
The following will create a directory only if that directory does not exist
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
目录不存在时才会创建该目录。
This is not best practice. Please read up on executing shell/batch scripts from Java