我有目录E:\NugetRoot\NugetServer
,我需要遍历此路径上的子目录,并在该子目录中的packages文件夹中,我需要计算以.nupkg
结尾的文件并将它们输出到cvs文件名为d:\monitoring\NugetStatistics
,每次运行脚本时,都应附加到文件中。
.nupkg
中以"C:\NugetRoot\NugetServer\\**\Packages"
结尾的文件。 (我需要遍历**文件夹并计算以.nupkg
结尾的每个文件)cvs
文件中输出两列:一列显示“**”文件夹名称&另一个显示文件计数。答案 0 :(得分:1)
首先使用带有recurse标志的Get-Childitem查找所有dnx web
文件以获取子文件夹中的所有文件,然后使用正则表达式过滤结果以排除最终文件夹未被称为包的任何位置。然后使用另一个正则表达式提取以前的文件夹名称,将其输入到Group-Object中以获取计数,然后输入包含append标志的Export-Csv。
*.nupkg
答案 1 :(得分:0)
cd "C:\NugetRoot\NugetServer\\**\Packages"
$a = Get-ChildItem -Name
foreach ($i in $a) {
$b = (Get-ChildItem -Recurse -Force -Include .nupkg -Path $i | Select-Object -ExpandProperty Name).Count
$i + "`t" + $b
}
答案 2 :(得分:0)
这是我到目前为止所拥有的。它显示服务器名称,ProjectgroupID(或文件夹名称),但获取包计数错误。此外,我也无法获得平均文件大小,我评论了这些:
$folders = gci C:\NuGetRoot\NugetServer -Directory
foreach($folder in $folders){
@{ServerName=$env:COMPUTERNAME;
ProjectGroupID = $folder.Name;
NuGetPackageCount = (gci $folder.FullName\packages -Include '*.nupkg') | %{$_.Size}.Count;
#AverageSize= Measure-Object (listof sizes) -Average
} #| Export-Csv -Path c:\temp -NoTypeInformation -Append
}
Measure-Object -Average