最近、PowerShellを使い始めました。私は.jarファイルの実行に関する問題にぶつかりました。簡単に言えば、私はplantumlを使用しています。私は単にそれを実行する "plantuml"コマンドを持っていたいと思います。通常、プログラムを実行するには、入力します。 java -jar C:\Users\Name\Documents\WindowsPowerShell\Commands\plantuml.jar
。これはもちろんかなりのもので、簡略化するとplantuml
です。 PowerShellはそれらをインターセプトし、関数のパラメータとしてそれらを解釈するので、しかし、私は、このような.jarファイルに任意のパラメータを渡すことはできません function plantuml($UmlPath, $ImgPath) { java -jar C:\Users\Name\Documents\WindowsPowerShell\Commands\plantuml.jar $UmlPath $ImgPath }
:PowerShellのCのようなマクロ展開
私の現在の回避策は、次の関数です。これに対する現行の回避策は引用符で囲むことですが、私はこれが醜いと判断し、よく忘れます。
plantuml
と入力するだけで、PowerShellによってjava -jar C:\Users\Name\Documents\WindowsPowerShell\Commands\plantuml.jar
に展開されるような方法はありますか?私が見つけた唯一の同様の質問はthis oneでしたが、実際の回答はないようです。
$args
変数と関数に渡されるすべてのパラメータを取得することができますので、このアプローチはうまくいくかもしれない
あなたが合格する必要がある場合追加のパラメータとして、 '$ params'のような関数に追加のparamを追加して、コマンドの最後に追加したいパラメータを表す文字列を送ると、奇妙な構文に終わるでしょうあなたはそれが少なくともあなたにタイピングの束を救うだろうということを認識していました。 –
この資料のアドバイスは、[Windows IT Pro - PowerShellで実行可能ファイルを実行する](http://windowsitpro.com/powershell/running-executables-powershell)を参照してください。 –
また、「Powershellがそれらを傍受して関数パラメータとして解釈するため、このような.jarファイルにパラメータを渡すことはできません」という意味の例を挙げてください。 –