Общий размер файла powershell из списка каталогов - PullRequest
0 голосов
/ 23 мая 2018

Я создал список каталогов файлов, таких как:

JPGS.LST:
"L:\_Testing\2016-05-20 20.22.53.jpg"
"L:\_Testing\2016-05-20 20.23.07.jpg"
"L:\_Testing\2016-05-20 20.23.12.jpg"
"L:\_Testing\2016-05-20 20.59.31.jpg"
"L:\_Testing\2016-05-20 21.19.25.jpg"
"L:\_Testing\2016-05-20 21.19.28.jpg"
"L:\_Testing\2016-05-20 21.49.09.jpg"
"L:\_Testing\2016-05-20 21.49.12.jpg"

Из этого списка я хочу получить из списка все размеры файлов -

I 'Я использую этот список, чтобы уменьшить эти изображения.Я хочу снова запустить скрипт, чтобы увидеть общий размер тех же файлов после сокращения, поэтому у меня есть сравнение до и после.Другие примеры, которые я вижу, используют список каталогов powershell ... Мне нужно иметь возможность использовать входной файл для определения общего размера файлов в списке каталогов.

Я пробовал:

$Files=Get-Content $Listfile
$totalSize = ($Files | Measure-Object -Property Length -Sum Length).Sum 

но это не дает ожидаемых результатов.Я бы хотел, чтобы это разрешилось примерно так:

$TotalSize=12.5 MB

Оби Ван ... ты моя единственная надежда!

Ответы [ 3 ]

0 голосов
/ 23 мая 2018
$files = Get-ChildItem $path -Recurse -File
$sum=($files | Measure-Object -Property length -Sum).sum

Если вы хотите получить желаемый вывод с суммой (МБ, ГБ .. и т. Д.), Отметьте Размер отображаемых файлов PowerShell в КБ, МБ или ГБ обсуждение с использованием классных приемов.

0 голосов
/ 23 мая 2018

Вам придется перебирать файлы, содержащиеся в JPGS.LST:

$TotalSize = 0
ForEach ($File in Get-Content '.\JPGS.LST'){
    If (Test-Path $File.Trim('"')){$TotalSize+=(GI $File.Trim('"')).Length}else{"$File not found"}
}
"`$TotalSize={0:N2} MB" -f ($TotalSize/1MB)
0 голосов
/ 23 мая 2018

Возможно, это то, что вы хотите:

ls -recurse | % { [long]($_.Length) } | Measure-Object -sum | % { $_.Sum }
...