Я пытаюсь создать сценарий для чтения каждого имени папки в каталоге, количества файлов zip в каждой папке и затем количества файлов в каждом zip. Вывод должен быть записан в выходной файл.
Я придумал ниже:
$ZipRoot = 'C:\Users\Main Folder'
$ZipFiles = Get-ChildItem -Path $ZipRoot -Recurse -Filter '*.zip'
$Shell = New-Object -ComObject Shell.Application
$Results = foreach( $ZipFile in $ZipFiles ){
$FileCount = $Shell.NameSpace($ZipFile.FullName).Items() |
Measure-Object |
Select-Object -ExpandProperty Count
[pscustomobject]@{
FullName = $ZipFile.FullName
FileCount = $FileCount
}
}
$Results |
Export-Csv -Path 'C:\Users\mlkstq\Desktop\FFNS\ZipReport.csv' -NoTypeInformation
Вывод
Fullname Filecount
C:\Users\Main Folder\Subfolder1\Zip1 3
C:\Users\Main Folder\Subfolder2\Zip2 5
Проблема в том, что у меня проблемы получить имя подпапки в файле putput. Также вы хотите подстроку имени подпапки, чтобы получить правильное имя. Что бы я ни пытался, это не помогает.