我无法在 Eclipse 中执行以下代码:
public static void main(String[] arg){
String path="C:\\Users\\my dir\\SendMailPS.ps1";
ProcessBuilder processBuilderObject
= new ProcessBuilder("powershell",path);
try {
processBuilderObject.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
但是如果 path 是 as ,我可以执行它C:\\Users\\SendMailPS.ps1
。所以问题出在空格上,我该如何解决?
编辑:我也试过这样
public static void main(String[] arg){
String path="C:\\Users\\my dir\\SendMailPS.ps1";
try {
Runtime.getRuntime().exec("powershell "+path);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
但是没有用。然后我直接从命令提示符尝试
>powershell
> C:\Users\SendMailPS.ps1
这给了我输出。但是以下行给了我错误
>powershell
> C:\Users\my dir\SendMailPS.ps1
错误:
C:\Users\my :术语“C:\Users\my”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。