Скрипт powershell для получения размера папок "itune (s)" на нашем сервере - PullRequest
0 голосов
/ 04 января 2012

Я все еще новичок в PowerShell и пытаюсь найти лучший способ получить размер отдельных папок Itunes на нашем сервере. Есть несколько папок, и все они расположены в профилях пользователей. Это скрипт, который у меня есть, но он не показывает все отдельные папки.

#Gets a list of all itunes folders 
$dirOfItunes = dir  -Recurse -Filter "iTunes Media" -ErrorAction silentlycontinue

Write-Host "list of itunes folders found: " $dirOfItunes 
ForEach ($i in $dirOfItunes) 
{
   $UserItuneFolder = (Get-ChildItem -Recurse | Measure-Object -property length -sum)

   Write-Host "details of Itunes folders found:  " Write-Host $UserItuneFolder.get_Sum()

   write-host "folder name:  " $i.FullName

   "size " + "{0:N2}" -f ($UserItuneFolder.sum / 1MB) + " MB"
}

Ответы [ 2 ]

1 голос
/ 04 января 2012

Вы забыли $ i (в цикле foreach) после get-childitem (вы хотите знать общий размер $ i, верно?)

Это должно делать то, что вы хотите:

#Gets a list of all itunes folders 
$dirOfItunes = dir  -Recurse -Filter "iTunes Media" -ErrorAction silentlycontinue

Write-Host "list of itunes folders found: " $dirOfItunes 
ForEach ($i in $dirOfItunes) 
{
   $UserItuneFolder = (Get-ChildItem $i.fullname -Recurse | Measure-Object -property length -sum)
   Write-Host "details of Itunes folders found:  " ([int] $UserItuneFolder.sum)
   write-host "folder name:  " $i.FullName
   "size " + "{0:N2}" -f ($UserItuneFolder.sum / 1MB) + " MB"
}
0 голосов
/ 05 января 2012

Не уверен, правильно ли я делаю, публикуя это как ответ, потому что в комментариях недостаточно места, но это последний код, который я использовал. Спасибо Джону Z за помощь в решении проблемы :-)

#Gets a list of all itunes folders 
$dirOfItunes = dir L:\Users\FolderRedirections -Recurse -Filter "iTunes Media" -ErrorAction silentlycontinue

#print list of folders found to the screen 
Write-Host "list of itunes folders found: "
ForEach ($A in $dirOfItunes) 
    {
    write-host "    " $A.fullname 
    }

#Get the total size of each folder 
ForEach ($i in $dirOfItunes) 
{
   $UserItuneFolder = (Get-ChildItem $i.fullname -Recurse | Measure-Object -property length -sum)
   Write-Host "Size of folders in bytes:  " ([int] $UserItuneFolder.sum)
   write-host "Folder name:  " $i.FullName
   "size of folder: " + "{0:N2}" -f ($UserItuneFolder.sum / 1MB) + " MB"

}
...