在批处理文件中传递第二个参数

时间:2018-01-15 23:12:04

标签: powershell batch-file

我有一个文件hello.bat,其中包含以下代码:

echo first: %1 and second: %2 > me.txt

我试图用powershell来调用它。当我传递第一个参数时效果很好:

 start-process hello test

然而,当我尝试传递第二个参数时:

 start-process hello test test2

我收到此错误:

  

Start-Process:找不到接受参数'test2'

的位置参数

2 个答案:

答案 0 :(得分:1)

你可以尝试使用这样的逗号传递参数:

start-process hello test,test2

start-process hello "test test2"

如果您想了解更多信息,可以阅读文档here

答案 1 :(得分:0)

我不知道你为什么要从命令行启动命令行,但我认为这应该有效:

Start-Process -FilePath $env:ComSpec -ArgumentList "/c hello.bat test test2"

您认为现在是时候用Powershell替换cmd了吗?

您也可以更改您的bat文件:

echo %1 > me.txt
echo %2 >> me.txt