带有import-csv的Foreach循环

时间:2016-10-19 03:50:51

标签: powershell

在循环函数中使用基本的import-csv会遇到一些问题。

  1. 我有基本的csv文件,包含主机名,节点标题

  2. 我使用import-csv

  3. 分配文件
  4. 然后,当我尝试使用unc路径中的主机名测试路径foreach

  5. 时,我只是简单地启动\\$r.hostname\c$\users\something\desktop循环
  6. 预期结果为真

  7. 但实际结果为假

  8. 当我在测试路径中尝试实际的主机名而不是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
    
    
    
    }
    

    一如既往,你们真棒!

1 个答案:

答案 0 :(得分:2)

试试:

 Test-Path -LiteralPath "\\$($r.hostname)\c$\users"   <<====now working ;o) 

问题来自于$r被直接解释为var的事实,因此最终字符串为"\\$r collection as a string.hostname\c$\users"