如何在PowerShell中执行数学或者更精确地说,从a.CSV文件

问题描述 投票:0回答:2

所以我试图让我的硬盘的值到CSV具有下列任一功能:

这个:

Get-PSDrive -PSProvider FileSystem | select Used,Free,Name,Root | Export-CSV -path "C:\Temp\Output $env:computername\Harddisk $env:computername.csv" -delim ";" -Encoding UTF8

或者这一个:

Get-PSDrive -PSProvider FileSystem | Format-Table -AutoSize | Out-String -Width 10000| Out-File -Append "C:\Temp\Output $env:computername\Harddisk2 $env:computername.csv" -Encoding UTF8}

方法1的输出是字节,因此我将不得不对它进行数学(由1073741824划分似乎得到正确的答案),但不知道怎么办。

方法2的输出是在千兆字节(我想要的),但它仅输出成1列。

谁能告诉我,我需要怎么一号进行数学或如何把一个-delimiter ";"二号?

windows powershell server hard-drive
2个回答
1
投票

这是解决你的电话号码1。

Get-PSDrive -PSProvider FileSystem | select Name, Root, @{n="Used in GB";e={[math]::Round($_.Used/1GB,2)}}, @{n="Free in GB";e={[math]::Round($_.Free/1GB,2)}} | Export-CSV -path "C:\Temp\test1.csv" -Delimiter ";" -NoTypeInformation

0
投票

这是你需要的,如果你想拥有一个“总计”栏以及除了“二手”和“自由”的列使用什么。

Get-PSDrive -PSProvider filesystem | select Name, Root, @{n="Used in GB";e={"{0:N2}" -f  ($_.used/1GB)}},   @{n="Free in GB";e={"{0:N2}" -f ($_.Free/1GB)}}, @{n= 'Total in GB' ; e = {"{0:N2}" -f (($_.used + $_.Free)/1GB)}} | Export-CSV -path "C:\Temp\Output $env:computername\Harddisk $env:computername 2.csv" -Delimiter ";" -NoTypeInformation
© www.soinside.com 2019 - 2024. All rights reserved.