相当于 Windows Shell 中的 `$@`

相当于 Windows Shell 中的 `$@`

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

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

如您所见,我使用%1符号将参数转换为pip.cmdpip.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命令/程序名称以及%*所有参数在哪里。

本文

相关内容