【问题标题】:Creating path variables from users list从用户列表创建路径变量
【发布时间】:2020-07-11 22:44:54
【问题描述】:

尝试根据存储在 CSV 文件中的用户名列表生成路径,这是用户列表:

  • AAA
  • AAB
  • AAC
  • AAD
  • AAE
  • AAF

这是我的脚本:

$path = Read-Host -Prompt 'Input path to Import CSV' 
$path = $path.Trim() 
$UserList=IMPORT-CSV $path 
ForEach ($name In $UserList){

$USERNAME =  $name 
$Drive_Home = "C:\Users\Local\Desktop\Home\" 
$Drive_Ams = Drive_Home+ "Amsterdam\" + $USERNAME
Write-output $Drive_Ams  }

这是输出:

C:\Users\Local\Desktop\Home\Amsterdam@{Name=AAA} C:\Users\Local\Desktop\Home\Amsterdam@{Name=AAB} C:\Users\Local\Desktop\Home\Amsterdam@{Name=AAC} C:\Users\Local\Desktop\Home\Amsterdam@{Name=AAD} C:\Users\Local\Desktop\Home\Amsterdam@{Name=AAE} C:\Users\Local\Desktop\Home\Amsterdam@{Name=AAF}

我的问题是如何在没有@{Name= 的情况下生成路径 比如应该是C:\Users\Local\Desktop\Home\Amsterdam\AAA

【问题讨论】:

  • @AdminOfThings 很简单 :) 非常感谢

标签: list powershell import


【解决方案1】:

您必须访问Name 属性才能检索其值。

Foreach ($name in $UserList) {
    $Username = $name.Name
    # Other code
}

Import-Csv 将 CSV 文件内容转换为自定义对象。这些对象的属性是列标题。如果指定-Header 参数,则可以提供列标题数组。否则,文件的第一行将成为标题数组。文件中的每个标题必须由提供的分隔符分隔(默认为逗号)。 CSV 的每一行都是以这些标题作为属性的对象。每行中的分隔数据成为这些属性的值。

【讨论】:

    猜你喜欢
    • 2011-04-14
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 2019-08-11
    • 1970-01-01
    • 2020-03-31
    • 2018-03-04
    • 1970-01-01
    相关资源
    最近更新 更多