作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法在 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();
}
}
但是如果路径为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 : The term 'C:\Users\my' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
最佳答案
String path="C:\\Users\\my dir\\SendMailPS.ps1";
ProcessBuilder processBuilderObject
= new ProcessBuilder("powershell",path);
您实际上在这里做的是运行一个调用 SendMailPS 脚本的单行 powershell 脚本。一行脚本受到 powershell 脚本解析的影响,这导致了您的问题。
尝试以这种方式运行脚本:
String path="C:\\Users\\my dir\\SendMailPS.ps1";
ProcessBuilder processBuilderObject
= new ProcessBuilder("powershell", "-File", path);
这明确告诉 Powershell 将指定的文件作为脚本运行。
这里不要使用字符串连接:
// Don't do this
ProcessBuilder processBuilderObject
= new ProcessBuilder("powershell -File " + path); // Don't do this
// Don't do this
尝试以这种方式运行它会给您带来更多麻烦。
关于java - ProcessBuilder 中的逃逸空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19092285/
我是Linux的新手,正在尝试创建一个TikZ图形来解析文件。为此,我使用包含以下语句的$%&-bash脚本读取文件 echo "\fill[color=blue] ($xp,$zp) circle
我是一名优秀的程序员,十分优秀!