在循环函数中使用基本的import-csv会遇到一些问题。
我有基本的csv文件,包含主机名,节点标题
我使用import-csv
然后,当我尝试使用unc路径中的主机名测试路径foreach
\\$r.hostname\c$\users\something\desktop
循环
预期结果为真
但实际结果为假
当我在测试路径中尝试实际的主机名而不是csv param时,它的工作正常。
$records = Import-Csv C:\Users\someuser\Desktop\partition-mapping.csv
foreach ($r in $records)
{
Test-Path -LiteralPath \\$r.hostname\c$\users <<====not working
Test-Path -LiteralPath \\hostname01.lab.local\C$\Users\ <<====== workign fine
}
一如既往,你们真棒!
答案 0 :(得分:2)
试试:
Test-Path -LiteralPath "\\$($r.hostname)\c$\users" <<====now working ;o)
问题来自于$r
被直接解释为var的事实,因此最终字符串为"\\$r collection as a string.hostname\c$\users"