У меня есть несколько папок на множестве SQL-серверов, содержащих сотни/тысячи баз данных. Каждая база данных состоит из трех элементов:Сумма размера папки для файлов на основе имени файла/папки
<dbname>.MDF
<dbname>.LDF
<dbname>files (Folder that contains db files/attachments)
мне нужно жениться эти файлы вместе и сложить их общий размер, есть ли какие-либо советы о том, как это сделать?
EDIT: просто для уточнения, в настоящее время я могу выводить файлы из файлов MDF/LDF, у меня есть отдельный скрипт, который суммирует размеры папок. Мне нужно метод сложения папки .MDF/.LDF/DBFiles, когда их имя совпадает. Принимая во внимание, что все файлы имеют префикс имени базы данных.
РЕДАКТИРОВАТЬ # 2: 2 варианта, которые даны вместе, вместе с файлами .mdf/.ldf без проблем, но не добавляют размер папки в папку DBFiles. Кто-нибудь имеет какие-либо сведения о том, как изменить эти сценарии, чтобы включить папку, начинающуюся с того же имени.
Первый предоставляется сценарий:
$root = 'C:\db\folder'
Get-ChildItem "$root\*.mdf" | Select-Object -Expand BaseName |
ForEach-Object {
New-Object -Type PSObject -Property @{
Database = $_
Size = Get-ChildItem "$root\$_*" -Recurse |
Measure-Object Length -Sum |
Select-Object -Expand Sum
}
}
Второй предоставляется сценарий:
gci "c:\temp" -file -Include "*.mdf", "*.ldf" -Recurse |
group BaseName, DirectoryName |
%{new-object psobject -Property @{FilesAndPath=$_.Name; Size=($_.Group | gci | Measure-Object Length -Sum).Sum } }
EDIT # 3:
Благодаря Ansgar (ниже), обновленный раствор сделал трюк отлично. Обновление вопрос с окончательным решением:
$root = 'C:\db\folder'
Get-ChildItem "$root\*.mdf" | Select-Object -Expand BaseName |
ForEach-Object {
New-Object -Type PSObject -Property @{
Database = $_
Size = Get-ChildItem "$root\$_*\*" -Recurse |
Measure-Object Length -Sum |
Select-Object -Expand Sum
}
}
Хорошо, я понял, что должен быть ясен. В настоящее время я могу проверять и выводить файлы всех содержимого папки. То, что мне нужно, чтобы иметь возможность сделать с этими результатами, соответствует каждой базе данных с ее сопровождающими файлами и добавлять их вместе. – KEW
Являются ли эти файлы/папки разбросаны или они хранятся вместе в базе данных? –
Все они хранятся в одной папке. – KEW