1

У меня есть 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

возвращает следующую информацию:

@ {Project = 110-0000}
@ {Project = 111-0000}
@ {Project = 112-0000}
@ {Project = 113-0000}

На данный момент я хочу извлечь из этого число и использовать его позже в сценарии, где я выполняю другой процесс для этого проекта. Последняя строка, которую я хочу обрабатывать каждый раз, когда ForEach нажимает на запись, выглядит так:

C:\111-0000

Я обработаю этот путь, затем начну сначала, потянув за следующий проект в списке и обработав его, вниз по списку. Но я не могу получить правильный код, чтобы он не вышел в конце концов, как:

C:\@ {Project = 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

0