Jestem nowy w powershell, więc scenariusz to Frankenstein z różnych przykładów z witryn.Czy istnieje sposób na wymuszenie polecenia cmdlet powershell-EXPORT-CSV w celu zachowania określonej kolejności kolumn?
Moje pytanie brzmi: jak mogę się upewnić, że plik csv, który tworzę dla DataTable, zachowuje kolejność kolumn, które określam?
Mój skrypt robi to, aby wypełnić nagłówki CSV i wartości tak:
...snip...
$dataTable | ForEach-Object {
$csv+=New-Object PSObject -Property @{
program_code=$_.ProgramCode;
first_name=$_.FirstName;
last_name=$_.LastName;
email=$_.email;
phone=$_.phone;
phone2=$_.otherphone;
address=$_.addr1;
address2=$_.addr2;
city=$_.city;
state=$_.state;
postal_code=$_.Zip;
country=$_.Country;
grad_year=$_.HsGradDate;
lead_date=$_.LeadDate;
lead_source=$_.LeadSource;
school_status=$_.SchoolStatus;
}
}
$csv | Export-CSV C:\scripts\NewLeads$(Get-Date -Format yyyyMMdd).csv -notype -Append
...snip...
Chcę plik musiał kolumnach w kolejności określić w skrypcie, ale kiedy go otworzyć w notatniku lub Excel kolumny pojawiają się w pozornie losowej kolejności. Słowo kluczowe wydaje się pozornie, ponieważ mogą one mieć jakiś sposób zamawiania się.
Dzięki, oba dobre rozwiązania! Twoje wymagało trochę mniej pisania, którego jestem wielkim fanem. – ledgeJumper
Korzystanie z notacji [pscustomobject] @ {} pomogło niezmiernie nad metodą v2, dzięki – flux9998