Программа, которую вы пытаетесь выполнить, называется tree.com
.
Это интерпретатор командной строки cmd.exe
, который использует переменную среды PATHEXT
для поиска пути для программ с различными расширениями , API Java отсутствует.
Таким образом, у вас есть 2 варианта:
Добавить расширение:
Process cmd = Runtime.getRuntime().exec("tree.com \"path\" /f /a");
Запустите его, используя cmd.exe
:
Process cmd = Runtime.getRuntime().exec("cmd.exe /c tree \"path\" /f /a");
Расширение .exe
является необязательным, например, "cmd /c tree \"path\" /f /a"
тоже работает, но любое другое расширение (например, .com
) требуется, и сценарии (.bat
, .cmd
) должны запускаться с cmd.exe
.