例如:我想將目錄改爲:C:/ temp/hacking/passsword 並執行如下命令:java helloworld arg1 arg2 我該如何用java做到這一點?如何更改目錄並在該目錄上運行命令?
-2
A
回答
2
請嘗試使您的問題更清楚,並在下次點。
試試這個:
Process pr = builder.start();
String[] commands = {"commands"};
ProcessBuilder builder = new ProcessBuilder(commands);
builder.directory(new File(/one/two/dir));
pr = builder.start();
或者如果你喜歡這種方法:
ProcessBuilder builder = new ProcessBuilder(
"cmd.exe", "/c", "cd \"C:\\Users\\Test\" && dir");
Process pr = builder.start();
有類似這樣的一個位置上有這麼幾種其他的問題,我建議你也去檢查他們出去得到一個更好的主意。
+0
其實,你不能運行'cd',因爲它是一個shell內建的,即使你可以,它也只適用於子進程。它不會轉回到您啓動的Java程序或後續子進程。 –
+0
我不認爲用'Runtime.exec()'運行'cd'會對後續調用產生任何影響。 –
+0
對不起,我有點困惑,ProcessBuilder會起作用。 – Athamas
相關問題
- 1. 使用CMD.EXE改變目錄,並在該目錄中運行命令
- 2. 更改目錄並使用#!bin/bash文件運行命令
- 3. python subprocess - 如何更改目錄運行命令?
- 4. 更改目錄並在一個命令中執行文件
- 5. 在cmd中更改目錄並執行外部命令 - ERLANG
- 6. 如何在Clojure的命令行中更改目錄?
- 7. 在命令行上更改輸出目錄For循環
- 8. 批處理文件來更改目錄,然後運行命令
- 9. Linux終端:更改目錄時運行命令
- 10. 如何更改Ant的fileset命令的目標目錄?
- 11. 更改目錄和AppleScript終端命令
- 12. 泊塢窗:更改目錄命令
- 13. 更改目錄命令提示符
- 14. Unix命令來更改目錄名稱
- 15. 如何使用Windows命令行更改目錄
- 16. 如何從命令行更改Linux/Unix中的目錄結構?
- 17. 從目錄運行bash命令
- 18. 從特定目錄運行shell命令
- 19. shell腳本遍歷目錄的子目錄並執行命令
- 20. 如何在運行時更改命令提示符上的目錄,然後運行另一個進程?
- 21. 目錄命令行參數
- 22. 命令執行目錄
- 23. 如何更改目錄然後運行命令批處理文件?
- 24. 如何在Linux中更改其安裝目錄的命令?
- 25. 遞歸改變目錄,並在每個執行一個命令
- 26. Windows命令行2上的目錄
- 27. 如何在特定目錄下運行命令?
- 28. 如何在不同的工作目錄中運行shell命令
- 29. 如何在Windows中從特定目錄運行命令?
- 30. 如何在使用bash的目錄列表中運行命令?
「改變目錄」是什麼意思?你的程序是否跟蹤「當前目錄」? –
在命令提示符下鍵入'Help'。對於列出的每個命令,請鍵入'help'(例如'help dir')或' /?'(例如'dir /?')。 'cd C:\ temp \ hacking \ passsword'然後'c:\ FolderJavaInstalledIn \ java Helloworld Arg1 arg2'。 '\'是窗口中的路徑分隔符。 –
Java程序不是一個shell。雖然存在「當前目錄」(user.dir系統屬性的值),但可以使用「Runtime」或「ProcessBuilder」爲每個啓動的進程提供工作目錄。 –