batch-file - 将 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+。用于powershell.exe
Windows PowerShell 5 或更早版本。
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"
推荐阅读
- arrays - 如何更改数字
- typescript - 返回列表大小的通用函数中的 no-explicit-any
- html - 我想在提交 HTML 表单时将页面重定向到我希望的位置
- codeigniter - 在codeigniter中从浏览器中查找url段
- css - 如何设置 VSC / ESlint 不将 css 类移动到新行?
- spring-boot - 开发人员设置 微服务 Keycloak Docker
- c++ - 为什么 std::set::find 不提供提示迭代器?
- django - 为什么自动转义不能替代 Django 模板中的安全?
- r - 在 R 中的句点之后删除所有内容
- javascript - 让图像在 X 秒后出现 Javascript(网页设计)