相當於 Windows shell 的“$@”

相當於 Windows shell 的“$@”

我使用批次檔來創建一些需要額外參數才能工作的命令的包裝器。例如,我有一個文件pip.cmd,它向所有調用添加自訂代理參數pip

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

正如您所看到的,我使用%1符號來傳輸pip.cmdto的參數pip.exe,但是,如果參數超過 5 個,我的方法就會失敗。在 Linux 中,我只需使用"$@",它可以一次處理所有參數。 Windows shell 是否有類似的表示法或合理的解決方法?

答案1

Windows shell 是否有類似的表示法或合理的解決方法?

%*相當於Unix 中cmd$@

筆記:

  • 最多允許 255 個參數。

範例(pip.cmd):

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

命令列參數(參數)

%*在批次腳本中引用所有參數(例如%1 %2 %3 %4 %5 ...%255

來源 -參數


進一步閱讀

答案2

您可以使用%*

@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是命令/程序名稱和%*所有參數。

本文

相關內容