最近我开始摆弄PowerShell,我遇到了运行.jar文件的问题。简而言之,我使用的是plantuml,我只想简单地使用“plantuml”命令来运行它。通常,运行程序将通过键入完成。 java -jar C:\Users\Name\Documents\WindowsPowerShell\Commands\plantuml.jar
。这当然是相当少的,我想简化为plantuml
。PowerShell中类C的宏扩展
我目前的解决办法是以下功能: function plantuml($UmlPath, $ImgPath) { java -jar C:\Users\Name\Documents\WindowsPowerShell\Commands\plantuml.jar $UmlPath $ImgPath }
但是,我不能传递任何参数,以这样的.jar文件,因为PowerShell的拦截他们,并解释它们作为函数的参数。目前的解决方法是将它们包裹在引号中,但我觉得这很丑陋,我经常忘记。
有什么办法可以简单地键入plantuml
以便PowerShell将其扩展到java -jar C:\Users\Name\Documents\WindowsPowerShell\Commands\plantuml.jar
?我发现的唯一类似问题是this one,但它似乎没有真正的答案。
如果你需要传递额外的参数,你可以添加一个额外的参数给你的函数,像'$ params',并发送一个字符串表示你想添加到命令结尾的参数,最终会有一些奇怪的语法,但只要你意识到它至少会为你节省一大堆打字。 –
本文中的建议可能对您有所帮助:[Windows IT Pro - 在PowerShell中运行可执行文件](http://windowsitpro.com/powershell/running-executables-powershell)。 –
另外,请给出一个例子,你的意思是“我不能像这样把任何参数传递给.jar文件,因为Powershell拦截它们并将它们解释为函数参数。” –