Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] посчитать суммарный объем файлов в папке по типам

Ответить
Настройки темы
PowerShell - [решено] посчитать суммарный объем файлов в папке по типам

Пользователь


Сообщения: 54
Благодарности: 1


Конфигурация

Профиль | Отправить PM | Цитировать


Собственно требуется посчитать сколько в какойто папке весят картинки, сколько музыка и т.п. как можно реализовать?
Поле Length ($_.Length) просуммировать в какую-либо переменнуя не получается из-за типа. А Measure-Object изменяет поле Sum входной переменной как я понимаю и соответственно за один обход можно узнать суммарный объем только одной группы файлов.

-------
twitter


Отправлено: 06:03, 20-06-2010

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


где-то так:
Код: Выделить весь код
$sRoot="C:\"

$types=@{
BMP="Graph";JPG="Graph";GIF="Graph";DIB="Graph"
ICO="Graph";ICB="Graph";PCX="Graph";PCD="Graph"
PSP="Graph";PBM="Graph";PGM="Graph";PSD="Graph"
PPM="Graph";PSG="Graph";PNG="Graph";EMF="Graph"
WMF="Graph";TIF="Graph";RLE="Graph";SGI="Graph"
TGA="Graph"

PCM="Audio";WAV="Audio";MP3="Audio";Flac="Audio"
AAC="Audio";WMA="Audio";OGG="Audio";Midi="Audio"
VOX="Audio";MPC="Audio";APE="Audio";Aiff="Audio"
AU ="Audio";WV ="Audio"
}

$zGraph = (dir "$sRoot" -recurse | Where-Object {
$types[$_.Extension.Replace(".","")] -ieq "Graph"
} | Measure-Object Length -Sum).Sum/1Mb

"Graph Size: " + [math]::round($zGraph,2) + " Mb"
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:54, 20-06-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 54
Благодарности: 1

Профиль | Отправить PM | Цитировать


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

-------
twitter


Отправлено: 09:14, 20-06-2010 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


добавить еще один массив:
Код: Выделить весь код
$sRoot="C:\"

$types=@{
BMP="Graph";JPG="Graph";GIF="Graph";DIB="Graph"
ICO="Graph";ICB="Graph";PCX="Graph";PCD="Graph"
PSP="Graph";PBM="Graph";PGM="Graph";PSD="Graph"
PPM="Graph";PSG="Graph";PNG="Graph";EMF="Graph"
WMF="Graph";TIF="Graph";RLE="Graph";SGI="Graph"
TGA="Graph"

PCM="Audio";WAV="Audio";MP3="Audio";Flac="Audio"
AAC="Audio";WMA="Audio";OGG="Audio";Midi="Audio"
VOX="Audio";MPC="Audio";APE="Audio";Aiff="Audio"
AU ="Audio";WV ="Audio"
}

$aSize=@{Graph=0;Audio=0}

dir "$sRoot" -recurse | Where-Object {
$ext=$_.Extension.Replace(".","");$types.ContainsKey($ext)
}| ForEach {$aSize[$types.Get_Item($ext)]+=$_.Length}

$aSize|Format-Table Name, @{
Label="Size";Expression={[string][math]::round($_.Value/1Mb)+" Mb"};Align="Right"
}
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:36, 20-06-2010 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] посчитать суммарный объем файлов в папке по типам

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Посчитать количество файлов в папке Lodoss AutoIt 10 21-08-2009 04:12
2008 - Настройка запуска по типам файлов merlinby Windows Server 2008/2008 R2 0 24-06-2009 11:30
WinApi||посчитать сколько файлов и папок на диске bezumes Программирование и базы данных 16 24-12-2006 12:08
Вопросы по различным типам файлов Surround Игры 10 12-09-2005 15:54
неправильный суммарный размер файлов на диске NTFS Andrey G Microsoft Windows 2000/XP 7 05-09-2005 08:57




 
Переход