我正在创建Powershell脚本,功能之一是从CSV中创建多用户。
我想要它,因此在脚本运行后,它会清除CSV文件,然后生成另一个具有正确标题的文件。
相关代码
脚本开始
[string]$csvpath = "multiusers.csv"
$csv = Import-Csv -Path "multiusers.csv"
脚本结束
Clear-Content $csvpath
Write-Output "User,First Name,Surname,Job Title,Department,Ticket Number,Managers First Name,Managers Surname" `n`n|FT -AutoSize >>multiusers.csv
在我看来,这应该可行,但是要做的只是创建一个大标题。
答案 0 :(得分:1)
您将一个长字符串用作一列,首先将其分隔为多个字符串,然后删除| FT -AutoSize[...]
部分,创建自定义对象行并使用Export-CSV
另外,您的某些列包含空格,您需要在它们之间添加引号
尝试以下方法:
"" | Select User,"First Name",Surname,"Job Title",Department,"Ticket Number","Managers First Name","Managers Surname" | Export-csv multiusers.csv -NoTypeInformation
将字符串与split结合使用的另一种方式,
$Columns = "User,First Name,Surname,Job Title,Department,Ticket Number,Managers First Name,Managers Surname" -split ","
"" | Select $Columns | Export-csv c:\multiusers.csv -NoTypeInformation
如果您不希望使用逗号作为空白行,请使用Out-File
。
$Columns = "User,First Name,Surname,Job Title,Department,Ticket Number,Managers First Name,Managers Surname" -split ","
(($Columns | % {'"{0}"' -f $_} ) -join ',') + "`n`n" | Out-File C:\multiusers.csv