将bat中的标题行插入csv文件中



我创建了一个创建csv文件的bat文件,请参阅下面的

@echo off
echo %date%,%time%,%computername%,%username% >> %random%.csv

这将生成包含以下数据的csv文件:

29/05/2021,15:35:31.10,PC9083,fmartin

但我需要bat文件包括这些标题,例如日期、时间、主机、名称(如果可能的话(,例如

Date,Time,Host,Name
29/05/2021,15:35:31.10,PC9083,fmartin

关于如何做到这一点,有什么想法吗?任何信息都将不胜感激

非常感谢约翰·

如果您想继续使用PowerShell,这是可行的。使用-UseQuotes AsNeeded需要PowerShell Core 7+。如果删除-UseQuotes AsNeeded,它将适用于Windows PowerShell 5.1,但每个字段都将被引用。

New-Object psobject -Property ([ordered]@{"Date"=(Get-Date).ToString('dd/MM/yyyy');
"Time"=(Get-Date).ToString('HH:mm:ss.ff');"Host"=$Env:COMPUTERNAME;"Name"=$Env:USERNAME}) |
Export-Csv -Path '.so-createcsv.csv' -Encoding ascii -NoTypeInformation -UseQuotes AsNeeded

如果必须将代码保存在cmd.exe批处理文件脚本中,则可以使用此脚本。将pwsh.exe用于PowerShell Core 6+。对于Windows PowerShell 5或更早版本,请使用powershell.exe

pwsh.exe -NoLogo -NoProfile -Command ^
"New-Object psobject -Property ([ordered]@{""Date""=(Get-Date).ToString('dd/MM/yyyy');""Time""=(Get-Date).ToString('HH:mm:ss.ff');""Host""=$Env:COMPUTERNAME;""Name""=$Env:USERNAME}) |" ^
"Export-Csv -Path '.so-createcsv.csv' -Encoding ascii -NoTypeInformation -UseQuotes AsNeeded"

最新更新