3
的陣列我在下面PowerShell中定義一個哈希表:如何枚舉哈希在powerhshell其中的值是字符串
$jobs = @{
"Test1"=[Array](
[Array]("\\server1\file1.txt", "\\server2\file1.txt")
);
"Test2"=[Array](
[Array]("\\sever1\file2.txt", "\\server2\file2.txt"),
[Array]("\\server1\file3.txt", "\\server2\file3.txt")
);
}
我試圖枚舉該集合,並呼籲每一對的功能。 Test1有1個文件比較,Test2有兩個文件比較。
$jobs.GetEnumerator() | Sort-Object Key | foreach {
LogWrite($_.Key + ": comparing files")
$_.value | foreach {
LogWrite("Comparing files '" + $_[0] + "' and '" + $_[1] + "'")
#$r = CompareFiles($_[0], $_[1])
#LogWrite("Result : " + $r)
}
LogWrite($_.Key + ": comparison successful")
LogWrite("")
}
我得到的輸出是:
Test1: comparing files
Comparing files '\' and '\'
Comparing files '\' and '\'
Test1: comparison successful
Test2: comparing files
Comparing files '\\server1\file2.txt' and '\\server2\file2.txt'
Comparing files '\\server1\file3.txt' and '\\server2\file3.txt'
Test2: comparison successful
Powershell的(東西)似乎是創造平等大小的數組。任何人都可以提出更好的數據結構或解決方案?
FWIW,Powershell似乎實際上* flattening *第一個嵌套數組'Test1'。 –
相關:http://stackoverflow.com/questions/2463190/avoiding-agnostic-jagged-array-flattening-in-powershell –