Эта программа на 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
0
Steve450 20 Май 2021 в 15:30

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

1
Chris Maggiulli 20 Май 2021 в 12:41