%*に関するバッチファイルのパラメータについて多くの質問がありましたが、答えは見つかりませんでした。バッチファイルに相当するunixパラメータの展開と引用符付き
UNIXの "$ @"と同じ動作を実行できる同等の構文がバッチファイルにありますか?
いくつかのコンテキスト:
@echo off
set MYPATH=%~dp0
set PYTHON=%MYPATH%..\python\python
set BASENAME=%~n0
set XTPY=%MYPATH%..\SGTools\bin\%BASENAME%.py
"%PYTHON%" "%XTPY%" %*
これは、Pythonスクリプトを呼び出すためにプロキシを使用しているの.batファイルです。だから、私はすべてのパラメータ(スクリプト名を除く)をpythonスクリプトに渡しています。これは、パラメータが引用符で囲まれたり、スペースが含まれるまでうまく動作します。
シェルスクリプトでは、 "$ @"を使用して各パラメータを取得し、引用符で囲むことができます。このプロセスを再現するためにできることはありますか?
例コール:
xt -T sg -t "path with possible spaces" -sum "name with spaces" -p <tool_name> -o lin32 lin64 win32 <lots of other options with possibilities of spaces>
実際の実行可能ファイルが別のフォルダにPythonコードであるため、コマンド/ファイルXTは単に上記のコードを含んでいます。つまり、あなたのパスに1つのディレクトリ(xbinディレクトリ)を追加するだけの自己完結型のパッケージを作成することです。
設定している環境変数や '%*'の内容を参照していますか?いくつか例を挙げることができますか? –
@Keith_CE:PowerShellを使用して、このナンセンスを取り除くことができます。 –
@Sinan%*の内容を参照しています。上記の例と説明は意味を成すのに役立ちますか? –