将变量从Java传递到批处理
此Java程序打开一个批处理文件并传递字符串将变量从Java传递到批处理,java,batch-file,batch-rename,Java,Batch File,Batch Rename,此Java程序打开一个批处理文件并传递字符串folderName public class FolderCreator { public static void main(String[] args) { try{ Process p = Runtime.getRuntime().exec("C:/Documents/NameFolder.bat folderName"); p.waitFor(
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
批处理脚本
以下内容仅在目录不存在时创建目录
假设您将其保存到文件C:/Documents/NameFolder.bat,您只需使用相同的Java代码执行它
Process p = Runtime.getRuntime().exec("C:/Documents/NameFolder.bat folderName");
这将创建一个c:\Users\%USERNAME%\Desktop\folderName
目录,前提是该目录不存在
这不是最佳做法。请仔细阅读从Java执行shell/batch脚本
您是在请求Java或Batch方面的帮助吗?我需要向Batch文件添加什么内容才能执行
%1
操作?您是否通过args
收到此folderName
?当有Java.nio
时,为什么要通过Java使用脚本语言?您只需创建一个指向桌面的路径
,然后解析
文件夹名称。。。
Process p = Runtime.getRuntime().exec("C:/Documents/NameFolder.bat folderName");