在PowerShell中,我想把CSV文件中的一个标题名称传递给PowerShell脚本中的另一个函数。如何将标题名称的值文本检索到CSV变量中?例如,如果我有以下CSV数据:
(注意:我熟悉符号$_.Country,可以通过在Powershell中导入CSV文件来检索行的值,例如“Germany”)
我的具体问题是,目前我在我的脚本中有以下函数:
ID Name Country
-- ---- -------
1 John United States
2 Beatrice Germany
3 Jouni Finland
4 Marcel France
在上面的示例中,我该如何在我的脚本中检索Country列的值文本作为“Country”文本并存储在一个变量中?(注意:我熟悉符号$_.Country,可以通过在Powershell中导入CSV文件来检索行的值,例如“Germany”)
我的具体问题是,目前我在我的脚本中有以下函数:
function GetItemIdFromTitle([string]$LookupTitle, [ref]$LookupId)
{
$LookupField = $LookupList.Fields["DEPTCATEGORY"]
$LookupItem = $LookupList.Items | where {$_['DEPTCATEGORY'] -like "*$LookupTitle*"}
$LookupId.Value = $LookupItem.ID
}
目前的代码使用字符串变量$LookupTitle在SharePoint列表中查找一个项目,并且你可以在脚本中看到我硬编码了列名为"DEPTCATEGORY"。这是在SharePoint列表中进行查找的列名。
我希望能够传入对应$LookupTitle值的列名,而不是硬编码"DEPTCATEGORY"。
以下是我调用上述函数的方式:
#GET THE LOOKUP COLUMN ID
GetItemIdFromTitle $_.DEPTCAT ([ref]$LookupIdValue)
( $_.DEPTCAT是CSV列中行的值。)
我可以做这样的事情吗?
$myCountryColumnName = $_.Country.Property.Title
或者$myCategoryColumnName = $_.DEPTCAT.Property.Name
如何从CSV中获取列名?