PowerShell脚本传递参数
在编写PowerShell脚本的时候,可以通过给变量赋值的⽅法输出想要的结果,但这样的话,需要改动脚本内容。其实也可以在脚本中定义参数,然后再在执⾏脚本的时候对参数赋值,⽽⽆需改动脚本内容。
  在PowerShell脚本中,可以使⽤param()声明参数,如下:
  param($a,$b)
  write-host "Hello,$a"
  write-host "nihao,$b"
  将以上内容保存在F盘根⽬录下,命名为hello.ps1。
  在命令提⽰符下运⾏该脚本,并分别为参数$a和$b指定值为“Lily”和“Lucy”,⽅式如下:
  C:\Users\Administrator& F:\hello.ps1 Lily Lucy
  脚本执⾏结果为:shell脚本返回执行结果
  Hello,Lily
  nihao,Lucy
  如果需要改变参数位置,需要为不同的参数指定值,如将$a指定值为“Lucy”,$b指定值为“Lily”,⽅式如下:
  C:\Users\Administrator& F:\hello.ps1 -b Lily -a Lucy
  脚本执⾏结果为:
  Hello,Lucy
  nihao,Lily
  在声明参数的时候,还可以指定参数类型,如下:
  param([string]$a,[int]$b)
  $a+$b
  在给脚本传递参数的时候,如果为$a和$b指定参数类型为string,则会报错,如下:
  C:\Users\Administrator& F:\hello.ps1 -a LiLei -b Lin
  F:\hello.ps1 : ⽆法处理对参数“b”的参数转换。⽆法将值“Lin”转换为类型“System.
  Int32”。错误:“输⼊字符串的格式不正确。”
  所在位置⾏:1 字符: 25
  + F:\hello.ps1 -a LiLei -b <<<< Lin
  + CategoryInfo : InvalidData: (:) [hello.ps1],
  mationException
  + FullyQualifiedErrorId : ParameterArgumentTransformationError,hello.ps1
  只有为其赋予int类型值才可以,如下:
  C:\Users\Administrator& F:\hello.ps1 -a 5 -b 6
  11

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。