当从js.jar控制台内部尝试runCommand(“cd”,“..”)时,抛出IOException。
我相信这是因为在命令提示符中,CD命令实际上内置在控制台中,而不是单独的.exe文件。 runCommand(“notepad”)工作正常,并且.exe可以在通常位置的类路径中找到。
有解决方法吗?
我在想通过java而不是通过命令提示符更改目录它可能会解决这个问题,但我不记得如何从java中做到这一点,但我打算试图弄明白。
总结:有没有办法在Windows上的Rhino JS控制台中运行“cd”?
谢谢, L -
答案 0 :(得分:0)
这里要解决多个问题;这取决于你想要做什么。
runCommand
实际上运行可执行程序。 cd
不是Windows上的可执行文件;它是命令shell中的命令。所以你需要执行更像这样的东西:
runCommand("cmd","/c","cd <target-directory>")
但是,底层Java运行时不允许您实际更改工作目录。见this StackOverflow discussion。炮轰cd
只会改变子进程的目录(运行cd
的进程),这可能不是你想要的。