使用传递给当前正在执行的批处理文件的参数调用另一个程

时间:2016-03-30 15:24:42

标签: scala batch-file

我的用例:拥有一个repl可执行文件scala.bat,它接受​​一些参数,其中一个允许将其指向一个在启动时运行的配置文件。我将scala.bat重命名为scala-original.bat并从scala-original.bat内部调用了scala.bat

@echo off

scala-original.bat -i C:\Progra~2\scala\bin\test-config.scala

如何将scala.bat的原始参数传递给scala-original.bat?它们应该在以下结尾添加:

scala-original.bat -i C:\Progra~2\scala\bin\test-config.scala

例如,呼叫:

scala.bat -nc

应该运行:

scala-original.bat -i C:\Progra~2\scala\bin\test-config.scala -nc

我们现在可以忽略双重指定-i部分。

对于我的用例,使用别名也可以是https://stackoverflow.com/a/21040825/750216中所见的解决方案,例如:

@echo off
doskey scala=scala-original.bat -i C:\Progra~2\scala\bin\test-config.scala $*

1 个答案:

答案 0 :(得分:1)

%*是“我的所有参数(当前正在运行的批处理文件)”。 (在批处理文件中尝试echo %*)。这使得将它们传递给下一个批处理文件非常容易:

scala-original.bat -i C:\Progra~2\scala\bin\test-config.scala %*