我正在Java中运行一些Powershell脚本,我已经完成了程序,但是现在我不确定如何将其打包到可执行文件.jar中,同时仍然可以使用这些脚本。我已将脚本放置在项目文件中(与src文件夹处于同一级别)
String[] commands1 = {"powershell.exe", "Set-Variable", "-Name \"address\" -Value \""+javaAddress+"\";", "C:\\Users\\--\\Documents\\ieAutomate.ps1\" "};
&
String runScan = "powershell.exe \"C:\\Users\\--\\Documents\\ipScan.ps1\" " ;
Process scanProcess = Runtime.getRuntime().exec(runScan);
[我知道.class.getResourceAsStream("ipScan.ps1")
可能可以工作-但如何将其用作runScan
字符串第二部分的字符串?
我也不确定如何为FileWriter指定文件路径。
writer2or32Port = new FileWriter("C:\\Users\\--\\Documents\\serials\\2or32Port.csv");
buffer2or32Port = new BufferedWriter(writer2or32Port);`
理想情况下,我只能在任何用户桌面上使用%USERNAME%或%USERPROFILE%之类的东西
writer2or32Port = new FileWriter("%USERPROFILE%\\Desktop\\2or32Port.csv");
但是我正在获取文件时未找到例外。任何帮助,将不胜感激。
谢谢
我有一个类似的问题,发现这很有用:
例如您可以将脚本放入源中,并通过getResourceAsStream()进行加载,然后将内容放在磁盘上的任何位置。然后,您可以从那里启动脚本。
public static void main(String[] args) throws IOException {
Files.copy(Test.class.getResourceAsStream("test.ps1"), Paths.get("/tmp/sometempfile.ps1"));
// now you know the location and can do something like: cat /tmp/sometempfile.ps1
}