Tôi mới sử dụng PowerShell, vì vậy kịch bản là một Frankenstein với nhiều ví dụ khác nhau từ các trang web.Có cách nào để buộc cmdlet powershell -Export-CSV duy trì thứ tự cột cụ thể không?
Câu hỏi của tôi là làm cách nào để đảm bảo rằng tệp csv mà tôi đang tạo cho một DataTable giữ thứ tự cột mà tôi chỉ định?
Kịch bản của tôi thực hiện điều này để cư các tiêu đề csv và các giá trị như sau:
...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...
Tôi muốn các tập tin phải cột theo thứ tự mà tôi chỉ định trong kịch bản, nhưng khi tôi mở nó bằng notepad hoặc vượt trội các cột xuất hiện theo thứ tự dường như ngẫu nhiên. Từ khóa là dường như vì họ có thể có một số phương pháp đặt hàng mình.
Cảm ơn, cả hai giải pháp tốt! Yêu cầu của bạn một chút ít gõ, mà tôi là một fan hâm mộ lớn của. – ledgeJumper
Sử dụng ký hiệu [pscustomobject] @ {} đã giúp vô cùng hơn phương pháp v2, cảm ơn – flux9998