相当于 Windows shell 的 `$@`

Dmi*_*yev 2 windows-7 shell command-line command-line-arguments

我使用批处理文件围绕一些需要额外参数才能工作的命令创建包装器。例如,我有一个文件pip.cmd,它为所有pip调用添加了一个自定义代理参数:

pip.exe --proxy="myproxy" %1 %2 %3 %4 %5
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我用%1符号来传递参数pip.cmdpip.exe,但是,我的做法休息,如果有超过5个参数。在 Linux 中,我会简单地使用"$@",它一次处理所有参数。Windows shell 是否有类似的表示法或合理的解决方法?

Dav*_*ill 6

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

%*cmd等效的$@Unix中。

笔记:

  • 最多允许 255 个参数。

示例(pip.cmd):

pip.exe --proxy="myproxy" %*
Run Code Online (Sandbox Code Playgroud)

命令行参数(参数)

%*在批处理脚本中引用所有参数(例如%1 %2 %3 %4 %5 ...%255

来源 -参数


进一步阅读