繁体   English   中英

在Powershell中将多个变量传递给Export-CSV

[英]Passing multiple variables to Export-CSV in Powershell

大家好,我遇到了Powershell 2.0问题,这使我发疯。 我的目标:创建一个脚本,该脚本确定Documents文件夹的大小以及当前用户在同一行中,但在csv文件中的两个不同字段中。 到目前为止,我已经尝试了以下脚本:

$startFolder= "C:\Users\$env:username\Documents"
$docinfo = Get-ChildItem $startFolder -recurse | Measure-Object -property length -sum |
$docinfo | Export-Csv -Path C:\MyDocSize\docsize.csv -Encoding ascii -NoTypeInformation

该脚本可以工作并导出文件夹大小(总和)以及一些我不需要的列,“平均值,最大值,最小值”和以“长度”为值的属性列。有人知道如何显示总和列,没有其他东西吗?但是,我的主要问题是,如何将“ $ env:username”传递给“ $ docinfo”,然后获取“ $ docinfo”,将其作为附加列传递给CSV和与测量值在同一行中的附加值?

我尝试了这个:

$startFolder= "C:\Users\$env:username\Documents"
$docinfo = Get-ChildItem $startFolder -recurse | Select-Object $env:username
$docinfo | Export-Csv -Path C:\MyDocSize\docsize.csv -Encoding ascii - NoTypeInformation

这将仅将当前用户名传递给csv文件,但没有列名,因此我不知道如何将测量值与此合并。 另外,我什至不知道为什么它将通过用户名,因为如果我取出“ Get-ChildItem $ startFolder -recurse”,它将停止工作。

我也尝试过以下脚本:

$startFolder= "C:\Users\$env:username\Documents"
$docinfo = Get-ChildItem $startFolder -recurse | Measure-Object -property length -sum  
New-Object -TypeName PSCustomObject -Property @{
UserName = $env:username
DocFolderSize = $docinfo    
} | Export-Csv -Path C:\MyDocSize\docsize.csv -Encoding ascii -NoTypeInformation

此脚本将很好地传递用户名,其列名称为“ UserName”,但是在“ DocFolderSize”列而不是测量值中,我得到以下字符串:Microsoft.PowerShell.Commands.GenericMeasureInfo

不知道现在该怎么办或如何解决这个问题,我将非常感谢您的帮助! 谢谢阅读。

试试看“

Get-ChildItem $startFolder -Recurse | Measure-Object -property length -sum | Select Sum, @{Label="username";Expression={$env:username}}

@{Label="username";Expression={$env:username}}将使您设置自定义列标题和值。

您可以使用相同的技术来自定义“求和”列:

Get-ChildItem $startFolder -Recurse | Measure-Object -property length -sum | Select @{Label="FolderSize";Expression={$_.Sum}}, @{Label="username";Expression={$env:username}}

如果要以MB显示文件夹大小:

Get-ChildItem $startFolder -Recurse | Measure-Object -property length -sum | Select @{Label="FolderSize";Expression={$_.Sum / 1MB}}, @{Label="username";Expression={$env:username}}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM