我有一个测试PowerShell V2脚本,如下所示:
function test_args()
{
Write-Host "here's arg 0: $args[0]"
Write-Host "here's arg 1: $args[1]"
}
test_args
Run Code Online (Sandbox Code Playgroud)
如果我从powershell命令提示符调用它,我会在屏幕上显示:
here's arg[0]: [0]
here's arg[1]: [1]
Run Code Online (Sandbox Code Playgroud)
不是我想要的.在我可以使用之前,似乎我必须将$ args [0]和$ args [1]复制到脚本中的新变量中?如果我这样做,我可以很好地访问.
有没有办法在我的代码中访问索引的$ args?我尝试过以各种方式使用花括号,但没有运气.
我最终将转向命名参数,但我正在处理的脚本(不是这个演示版)是批处理文件的直接端口.
Kei*_*ill 41
试试这个:
function test_args()
{
Write-Host "here's arg 0: $($args[0])"
Write-Host "here's arg 1: $($args[1])"
}
test_args foo bar
Run Code Online (Sandbox Code Playgroud)
请注意它是否$args存在$arg.此外,当您在字符串中使用PowerShell变量时,PowerShell仅替换变量的值.你不能直接使用像这样的表达式$args[0].但是,您可以将表达式$()放在双引号字符串中的子表达式组中,以使PowerShell评估表达式,然后将结果转换为字符串.
| 归档时间: |
|
| 查看次数: |
73708 次 |
| 最近记录: |