powershell - 让 Powershell 将文件的大小报告为 CSV 并继续添加而不是替换数据
问题描述
我正在尝试创建一个 Powershell 脚本,该脚本基本上只是查看服务器上的 Access 数据库文件大小,将文件大小以及确切的日期和时间添加到 CSV,然后保存它。
我只想要一个大小的运行报告,我打算让它每小时运行一次。我不知道如何让它只是添加到 CSV 而不是每次都创建一个新的 CSV。这是我到目前为止所拥有的:
$file = "\\location\file.mdb"
$Header = 'Name','Size','Time'
$Data = Import-Csv "\\location\REPORT.csv" -Delim ',' -Header $Header
$CSV = "\\location\REPORT.csv"
$A = Get-Date -UFormat '%B-%d-%Y %r'
$NewRow = "Name,Size,Time"
$NewRow | Add-Content -Path $CSV
Get-ChildItem -Path $file -Recurse -Force | ForEach {
[PSCustomObject]@{
Name = $_.Name
Size = "$([int]($_.length / 1mb)) MB"
Time = $A
}
} | Export-Csv -Path "\\location\REPORT.csv" -Delim ',' -En UTF8 -NoType
它创建 CSV,但它只是用新行覆盖而不是添加新行。
解决方案
大多数转储到文件的命令都喜欢Export-[Type]
并Out-File
支持该-Append
标志:
Export-Csv -Path "\\location\REPORT.csv" -Delim ',' -En UTF8 -NoType -Append
推荐阅读
- php - 弹性搜索中参数为空或null时如何忽略查询约束
- python - 使用 xlswriter 在 python 中模拟自动调整
- dotfuscator - Dotfuscator 会混淆独立程序集,但不会混淆 APK 存档
- computational-geometry - 使用 Qhull 计算 3d 中的上凸包
- graphql - SDL 中的逻辑 OR - 未为输入对象类型定义的字段名称“OR”
- c - 一个系统可以存储多少个信号量?
- postgresql - 将列添加到 Postgres,源文件已更改
- python - 如何在 tensorflow.keras 模型中正确使用自定义损失(例如骰子系数)?
- java - com.fasterxml.jackson.databind.JsonMappingException 没有从字符串值('1')反序列化的字符串参数构造函数/工厂方法
- angular - Angular(TypeScript):如何按类滚动到选定的元素