我有一个 CSV 文件,其中有一列数字,格式为111-0000
,我正在读取它以便一次处理一个。我正在尝试从 CSV 导入信息列,但在从 CSV 读取信息后,我无法找出从数组中提取它的正确方法。
CSV 如下所示:
项目
111-0000
112-0000
我想要从文件中获取一个返回每个项目编号的变量。到目前为止,我能够返回的内容是:
@{Project=111-0000}
目前,我所拥有的只是ForEach
从 CSV 文件中读取行的初始语句。
$CSV=Import-Csv "C:\ProjectList.csv"
ForEach ($Entry in $CSV)
此时,插入
Write-Host $Entry
返回以下信息:
@{项目=110-0000}
@{项目=111-0000}
@{项目=112-0000}
@{项目=113-0000}
此时我想要的是从中提取数字,并在稍后的脚本中使用它,我正在对该项目进行其他处理。每次 ForEach 命中条目时,我想要处理的最终字符串如下所示:
邮箱:
我将处理此路径,然后重新开始,拉入列表中的下一个项目并对其进行处理,一直到列表下方。但我无法获得正确的代码来阻止它最终显示为:
C:\@{项目=111-0000}
我尝试在第一个 ForEach 中使用另一个 ForEach 从代码中提取数字并将其传递下去,这就是我遇到困难的地方:
$lvCSV = New-Object System.Windows.Forms.ListView
ForEach ($Col in ($lvCSV.Columns )| ?{$_.Text -ne "Project"}){
$ProjectNumber = $Col.Text
我知道我需要处理$Entry
更多,但我找不到/想不出正确的流程。你能帮我指明正确的方向吗?
代码片段:
$CSV=Import-Csv "C:\ProjectList.csv"
ForEach ($Entry in $CSV){
$lvCSV = New-Object System.Windows.Forms.ListView #Defined at script start
ForEach ($Col in ($lvCSV.Columns )| ?{$_.Text -ne "Project"}){
$ProjectNumber = $Col.Text