-1
我的程序运行在C:驱动器的目录中,但我需要在驱动器D的另一个目录中运行shell命令。我怎样才能正确地做这样的事情:如何在不同的工作目录中运行shell命令
ProcessBuilder builder =
new ProcessBuilder("cmd.exe", "/c", "cd \"D:\\\" && dir");
我的程序运行在C:驱动器的目录中,但我需要在驱动器D的另一个目录中运行shell命令。我怎样才能正确地做这样的事情:如何在不同的工作目录中运行shell命令
ProcessBuilder builder =
new ProcessBuilder("cmd.exe", "/c", "cd \"D:\\\" && dir");
要改变你的流程的工作目录,开始之前,您builder
叫directory()
。
cmd /c "cd /d c:\temp && dir"
,“H:\\”); \t \t \t \t \t \t PB = pb.directory(新文件( “H:\\”)); \t pb.redirectErrorStream(true); \t进程p = pb.start(); \t BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream())); \t弦线; (true){ \t line = r.readLine(); \t if(line == null){break; } \t System.out.println(line); \t} –
这是对的吗?因为我仍然登陆C盘bu不在H盘 –
我在你的评论中看不到完整的命令,但以此为例:'new ProcessBuilder(“cmd”,“/ c”,“dir”) .directory(新文件(“H:/”)).start()' – alirabiee