Extraindo corretamente de um array

1

Eu tenho um CSV com uma coluna, números formatados como 111-0000 , que estou lendo para processar um de cada vez. Estou tentando importar a coluna de informações do CSV, mas estou tendo problemas para descobrir a maneira correta de extraí-la do array depois de ler o CSV.

É assim que o CSV se parece:

Projeto
111-0000
112-0000

O que eu quero sair do arquivo é uma variável que retorna o número de cada projeto. Até agora, tudo o que posso receber é:

@{Project=111-0000}

Atualmente, tudo que eu tenho é a declaração ForEach inicial lendo as linhas do arquivo CSV.

$CSV=Import-Csv "C:\ProjectList.csv"
ForEach ($Entry in $CSV)

Neste ponto, inserir

Write-Host $Entry

retorna as seguintes informações:

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

O que eu quero neste momento é extrair o número disso e usá-lo mais tarde no script, onde estou fazendo outro processo contra esse projeto. A string final que quero processar cada vez que o ForEach atinge uma entrada se parece com isso:

C: \ 111-0000

Eu vou processar este caminho, então começar de novo, puxar o próximo projeto na lista e processá-lo, na lista abaixo. Mas eu não consigo o código correto para impedir que ele saia no final, como:

C: \ @ {Project = 111-0000}

Eu tentei usar outro ForEach dentro do primeiro ForEach para extrair o número do código e passá-lo, é aqui que estou ficando preso:

$lvCSV = New-Object System.Windows.Forms.ListView
ForEach ($Col in ($lvCSV.Columns )| ?{$_.Text -ne "Project"}){
$ProjectNumber = $Col.Text

Eu sei que preciso processar $Entry mais, mas não consigo encontrar / descobrir o processo correto para isso. Você pode me ajudar na direção certa?

Snippet de código:

$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
    
por Meckron 24.04.2015 / 16:51

0 respostas