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