Folder size via agent
-
-
Maybe to someone it helps...get folder size in windows with powershell
1.Edit nxagentd.conf and paste next
ExternalParameter = FolderSize(*):powershell.exe ( Get-ChildItem $1 -Recurse -Force | Measure-Object -Property Length -Sum ).Sum / 1KB or /1MB if you want Mbytes, /1GB etc....
2.Restart agent.
3.Add Parameter to your node.
Enjoy.
-
Just some notes:
- I'd add error handling, like this:
Try { "{0:F2}" -f ((Get-ChildItem $args[0] -r -ErrorAction stop | Measure-Object -property length -sum).sum / 1KB) } Catch { Write-Host "0.00" }- If you plan to scan large directories and it could potentially take long time, it's better to use ExternalParametersProvider with script like this:
$dirs = @("c:\DosBox", "C:\tmp") foreach ($dir in $dirs) { $size = "0.00" Try { $size="{0:F2}" -f ((Get-ChildItem $dir -r -ErrorAction stop | Measure-Object -property length -sum).sum / 1KB) } Catch { } Write-Host "DirSize($dir)=$size" }- If these script saved as a file, PowerShell may require to sign it before running, disable execution policy:
powershell -ExecutionPolicy ByPass -File ...\script.ps1 -
Hi!
You can also use File.Size parameter:
File.Size(directory,*,1)
this will get size of all files in given directory and subdirectories. If you want to ignore subdirectories, you can use form
File.Size(directory,*,0)
Full description of File.Size and File.Count arguments:
File.Size and File.Count accepts the following arguments:
path, pattern, recursive, size, age
where
path : path to directory or file to check
pattern : pattern for file name matching
recursive : recursion flag; if set to 1 or true, agent will scan subdirectories
size : size filter; if < 0, only files with size less than abs(value) will match;
if > 0, only files with size greater than value will match
age : age filter; if < 0, only files created after now - abs(value) will match;
if > 0, only files created before now - value will matchAll arguments except first can be omitted.
Best regards,
Victor
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login