【发布时间】:2021-04-17 05:04:42
【问题描述】:
我有一个简单的 PowerShell 脚本,它列出目录中的所有文件并将其打印到 .txt 文件中,如下所示
$currentDir = 'C:\files'
Get-ChildItem $currentDir -Recurse -Force | ForEach-Object {
$_.BaseName + "|" + $_.Extension + "|" + '{0:N2}' -f ($_.length/1MB) >> files_log.txt
}
但是,这只会获取文件的大小。我想获得所述文件在磁盘上的大小。输出应该是这样的:
BaseName | Extension | Size | Size_on_Disk
file | .pdf | 0.06 | 1.00
file2 | .mp3 | 0.30 | 1.00
我已经搜索过,但我只得到了有关如何获取文件夹中文件的磁盘大小总和的结果。我还没有找到从ForEach-Object 访问所述属性的正确方法。
如何从 PowerShell 中获取文件属性中所见的 Size On Disk 参数?
【问题讨论】:
-
也许你可以使用this cmdlet。
-
谢谢@Vivere。我正在寻找 ForEach-Object 中的特定属性,但似乎没有,您必须自己构建。谢谢。
标签: windows powershell