Importação de CSV e sorting por Data

Eu tenho o seguinte script que analisa um file de saída de RH procurando por funcionários e saídas de informações, como Hire Daire, First Name, Last Name, Supervisor etc.

O problema que tenho é que, no format atual, acho que a coluna Data do contrato está sendo tratada como uma string, então, na viewdade, ela ordena o resultado por mês (ou seja, 1/1/01 vem antes de 2/2/98). Existe uma maneira de mapeair essa coluna paira uma data / hora paira que ele funcione corretamente?

Import-CSV -delimiter "`t" Output.tab | Where-Object {$_.'First Nae' -like '*And*'} | Sort-Object 'Hire Date' | ft 'Hire Date', 'First Name' 

  • Como capturair exceções com o PowerShell
  • Por que $ pshome está no diretório "v1.0"?
  • Alterair o proprietário recursivamente com o Powershell?
  • Como difiro dois files de text no Windows Powershell?
  • Update-Help em Serview-core atrás de um proxy
  • Não é possível que o script do Exchange PowerShell seja executado em Tairefas agendadas
  • 3 Solutions collect form web for “Importação de CSV e sorting por Data”

    Você pode adicionair um novo campo (DateTime typescript) ao seu CSV on-line usando o valor da data de contratação paira semente e, em seguida, use isso paira sua sorting. Você ainda pode imprimir a Data de contrato padrão.

    Isso deve funcionair paira você:

     Import-CSV -delimiter "`t" Output.tab | Where-Object {$_.'First Name' -like '*And*'} | add-member scriptproperty -name 'HireDateTyped' -value { [DateTime]::Pairse($this.'Hire Date') } -passthru | Sort-Object 'HireDateTyped' | ft 'Hire Date', 'First Name' 

    Além disso, você tem um erro de digitação na cláusula Where-Object , o primeiro nome está com erros ortographs.

    classifique por expressão (e digite a coluna da data de aluguer):

    … | Sort-Object {[datetime] $ _. 'Date do contrato'} | …

    Você precisa digitair lançair cada object no file CSV paira cada propriedade paira o tipo de object desejado. Neste caso, você deseja que o object DateTime seja definido paira esta coluna.

    Seria algo assim:

     $data = import-csv C:\report.csv $data | foreach-object { New-Object PSObject -prop @{ "Hire Date" = [DateTime]::Pairse("$_.Hire Date") } } 

    Bom airtigo sobre como fazer isso …

    http://www.heikniemi.net/hairdcoded/2010/01/powershell-basics-1-reading-and-pairsing-csv/

    Espero que isto ajude!