在powershell中加入声明

时间:2013-12-01 19:49:38

标签: powershell powershell-v3.0

我正在学习powershell,我有一个例子。但我完全无法理解它。 这是代码:

if($($wordProgress -join '') -like $targetWord)

2 个答案:

答案 0 :(得分:3)

回到上一个问题,$ wordProgress是一个强类型数组。因此$($wordProgress -join '')加入数组值并将连接值与$ targetword进行比较。

它在一个If语句中,所以如果它返回true,它将执行进程{}块中的任何操作。

以下是此实例的一个示例。

[int[]]$nums = 1,2,3,4

Write-Host "Not Joined = " 
$nums

Write-Host "Joined = " 
($nums -join '')

If($($nums -join '') -like '1234'){

    Write-host "Do something!"

}

此外,由于您是Powershell的新手,我建议您首先了解Get-Help Cmdlet

以下是如何使用它来了解-join运算符

Get-help about_join

答案 1 :(得分:2)

我猜$wordProgress是一个char数组(字符列表)。

$()是一个子表达式,用于在继续处理之前运行某些内容。

-join ''使用空白分隔符连接数组值(因此只需在彼此之后添加值),以创建字符串。

-like匹配左侧(从char数组创建的字符串)与右侧的单词。

这都在if-test中,所以如果连接的字符串与$targetWord匹配,它将运行应该在表达式之后的代码。

样品:

PS > [char[]]$wordProgress = "a","b","c"
PS > $targetWord = 'abc'

PS > $($wordProgress -join '')
abc

PS > if($($l -join '') -like $targetWord) { "MATCH" }
MATCH