我猜你不能这样做:
$servicePath = $args[0]
if(Test-Path -path $servicePath) <-- does not throw in here
$block = {
write-host $servicePath -foreground "magenta"
if((Test-Path -path $servicePath)) { <-- throws here.
dowork
}
}
Run Code Online (Sandbox Code Playgroud)
那么如何将我的变量传递给scriptblock $ block?
假设您有两个相同的对象(意味着它们分别具有相同的属性和相同的值)。
你如何测试平等?
例子
$obj1
&$obj2
是相同的
这是我尝试过的:
if($obj1 -eq $obj2)
{
echo 'true'
} else {
echo 'false'
}
# RETURNS "false"
if(Compare-Object -ReferenceObject $obj1 -DifferenceObject $obj2)
{
echo 'true'
} else {
echo 'false'
}
# RETURNS "false"
Run Code Online (Sandbox Code Playgroud)
编辑
这并不相同