Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在powershell中传递对象_Powershell - Fatal编程技术网

如何在powershell中传递对象

如何在powershell中传递对象,powershell,Powershell,我可以在powershell中传递一个对象,但当我有2个对象时,只传递1个,另一个为null psuedo代码: function do-something($param1, $param2) { ... } do-something($a, $b) 我需要做一些特殊的事情来让两个arg都通过来做一些事情吗?我所使用的是globals,我认为这会导致其他问题。尽管PowerShell允许使用“C#风格”的函数定义语法(如您的示例中所示),但调用函数的语法有点不同-参数参数由空格而不是逗号分

我可以在powershell中传递一个对象,但当我有2个对象时,只传递1个,另一个为null

psuedo代码:

function do-something($param1, $param2) {
...
}


do-something($a, $b)

我需要做一些特殊的事情来让两个arg都通过来做一些事情吗?我所使用的是globals,我认为这会导致其他问题。

尽管PowerShell允许使用“C#风格”的函数定义语法(如您的示例中所示),但调用函数的语法有点不同-参数参数由空格而不是逗号分隔,并且可以选择通过名称传递

对于您正在尝试执行的操作,以下任一项都将起作用:

Do-Something $a $b
Do-Something -param1 $a -param2 $b
Do-Something -param1:$a -param2:$b
您当前的代码解析为:

Do-Something -param1 ($a, $b)
。。。这就是为什么在函数中只接收一个参数


有关更多详细信息,请参阅帮助文件

尽管PowerShell允许使用“C#风格”函数定义语法(如您的示例中所示),但调用函数的语法有点不同,因为参数参数参数是用空格而不是逗号分隔的,并且可以选择用名称传递

对于您正在尝试执行的操作,以下任一项都将起作用:

Do-Something $a $b
Do-Something -param1 $a -param2 $b
Do-Something -param1:$a -param2:$b
您当前的代码解析为:

Do-Something -param1 ($a, $b)
。。。这就是为什么在函数中只接收一个参数


有关详细信息,请参阅帮助文件

谢谢,就这样。作为powershell的新手,语法与我习惯的有点不同。这是非常有用的。我将再次尝试函数,我想我可以用我习惯的方式来称呼它。是的,PowerShell学习曲线有点奇怪,但实践使人精通:)一定要查看
关于函数的\u高级*
主题-您当前使用的语法对于许多通用函数来说都很好,但是高级函数允许对输入绑定和类似的hanks进行更多的控制,就是这样。作为powershell的新手,语法与我习惯的有点不同。这是非常有用的。我将再次尝试函数,我想我可以用我习惯的方式来称呼它。是的,PowerShell学习曲线有点奇怪,但实践使人精通:)一定要查看
关于函数的\u高级*
主题-您当前使用的语法对于许多通用函数来说都很好,但是高级函数允许对输入绑定等进行更多的控制