it-swarm-ja.com

Windowsシェルの `$ @`に相当

私はバッチファイルを使用して、動作するために追加の引数を必要とするいくつかのコマンドのラッパーを作成します。たとえば、すべてのpip呼び出しにカスタムプロキシ引数を追加するファイルpip.cmdがあります。

pip.exe --proxy="myproxy" %1 %2 %3 %4 %5

ご覧のとおり、私は%1表記を使用してpip.cmdの引数をpip.exeに転送していますが、引数が5つを超えると、アプローチが機能しなくなります。 Linuxでは、すべての引数を一度に処理する"[email protected]"を使用するだけです。 Windowsシェルに同様の表記法または合理的な回避策はありますか?

1

Windowsシェルに同様の表記法または合理的な回避策はありますか?

%*は、Unixの[email protected]に相当するcmdです。

注意:

  • 最大255個のパラメーターが許可されます。

例(pip.cmd):

pip.exe --proxy="myproxy" %*

コマンドライン引数(パラメーター)

バッチスクリプトの%*は、すべての引数を参照します(例:%1 %2 %3 %4 %5 ...%255

ソース- パラメータ


参考文献

4
DavidPostill

%*を使用できます:

@echo off
echo %0
echo %*

これを実行すると、次のようになります。

C:\>test.cmd this is a test 1 2  3  4  5 6 7 8
test.cmd
this is a test 1 2  3  4  5 6 7 8

ここで、%0はコマンド/プログラム名、%*はすべてのパラメーターです。

この記事 を参照してください。

2
agold