如何从bat文件中运行powershell脚本文件并传递多个参数

时间:2015-08-20 15:07:44

标签: powershell batch-file

我想调用test.bat,它再次触发带有文件测试的Powershell.exe

test.bat的:

Powershell.exe -ExecutionPolicy Bypass -File "test1.ps1 -Param1 Value1 -Param2 Value2"

test1.ps1:

param{$Tag,$CommitId}

Write-Host $Tag
Write-Host $CommitId

两个文件都放在同一个目录中。

目前我收到一个错误,我的文件没有.ps1扩展名,但那不是真的...但我想这是因为我以错误的方式传递参数...

那么如何正确地将参数传递给My.bat中的调用?

3 个答案:

答案 0 :(得分:2)

好的,所以从批处理test.bat可能看起来像这样

@decorator_name
def get_desired_result():
    translation = soup.find('td', class_='translation')
    polish = translation.find('span', class_='polish')
    return polish

这就是我如何将参数传递给powershell脚本。您不必使用所有其他参数运行powershell.exe

在PS1文件中,我会这样做:

@echo off
set Param1="some text"
set Param2="Some more text"

test1.ps1 %Param1% %Param2%

如果你absoloutley需要针对powershell.exe的其他开关你可能会这样做..

[CmdletBinding()]
Param(
[Parameter(Mandatory=$True,Position=1)]
[string]$Tag,

[Parameter(Mandatory=$True,Position=2)]
[string]$commitId
)

write-host $tag
write-host $CommitId

答案 1 :(得分:0)

我只想将test.bat更改为

var data = google.visualization.arrayToDataTable([
    ['City', '2010 Population','j'],
    ['New York City, NY', 80,10],
    ['Los Angeles, CA', 80,0],
    ['Chicago, IL', 70,0],
    ['Houston, TX', 65,0],
    ['Philadelphia, PA', 17,0]
  ]);
    var num = 0;


  var options = {
    title: 'Percent of students enrolled',
    chartArea: {width: '50%'},
    hAxis: {
      title: 'Percentage',
      minValue: 100
    },
    vAxis: {
      title: 'college location'
    },
      isStacked: true
  };

当然,将Value1和Value2更改为您想要传递的实际值。

答案 2 :(得分:0)

在你的test.bat

<script>
var today = new Date();
arr = [];
today.getDate();
for (i = 1; i<=today.getDate();i++)
{
    arr.push(i);
}
</script>