如何在 powershell 中执行数学运算,或者更准确地说,来自 a.CSV 文件
How to perform math in powershell or to be more precise, from a.CSV file
所以我正在尝试使用以下任一函数将我的 HDD 的值转换为 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 的输出以 GBytes 为单位(我想要的),但它只输出到 1 列。
谁能告诉我如何在 1 日进行数学运算或如何在 2 日放置 -delimiter ";"
?
这是你的数字 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
如果除了 "Used" 和 "Free" 列之外还需要一个 "Total" 列,则需要使用此方法。
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
所以我正在尝试使用以下任一函数将我的 HDD 的值转换为 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 的输出以 GBytes 为单位(我想要的),但它只输出到 1 列。
谁能告诉我如何在 1 日进行数学运算或如何在 2 日放置 -delimiter ";"
?
这是你的数字 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
如果除了 "Used" 和 "Free" 列之外还需要一个 "Total" 列,则需要使用此方法。
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