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