有谁知道为什么这两个语句导致显示的异常?
Runtime.getRuntime().exec("assoc .vlan=\"file type description\"");
Runtime.getRuntime().exec("ftype \"file type description\"=" + System.getProperty("user.home")+ "\\folder 1\\folder 2\\my executable.exe\" /inject \"%1\"");
Run Code Online (Sandbox Code Playgroud)
这是例外.
java.io.IOException: Cannot run program "assoc": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
at java.lang.Runtime.exec(Runtime.java:615)
at java.lang.Runtime.exec(Runtime.java:448)
at java.lang.Runtime.exec(Runtime.java:345)
Run Code Online (Sandbox Code Playgroud)
好吧,我已经改变了这个但仍然没有建立关联,而同一个命令是可执行的并且在cmd命令提示符下工作.
Runtime.getRuntime().exec("cmd.exe /c assoc .vlan=\"file type description\"");
Runtime.getRuntime().exec("cmd.exe /c ftype \"file type description\"=\"" + System.getProperty("user.home") + "\\folder 1\\folder 2\\my executable.exe\" /inject \"%1\"");
Run Code Online (Sandbox Code Playgroud)
任何补充建议?谢谢!
事实证明,assoc并且ftype是内置的shell命令和不可执行的文件.对于copy,dir等等也是如此.您可以做的是cmd.exe使用/c参数启动来传递命令行字符串,例如cmd.exe /c assoc ....
| 归档时间: |
|
| 查看次数: |
6959 次 |
| 最近记录: |