Windows 在所有子文件夹中查找特定文件夹的大小
我正在创建PowerShell脚本,以便通过电子邮件发送我在windows服务器上托管的所有网站的审核报告。我还想打印每个网站的日志文件夹的大小 这就是我想要的。Windows 在所有子文件夹中查找特定文件夹的大小,windows,powershell,Windows,Powershell,我正在创建PowerShell脚本,以便通过电子邮件发送我在windows服务器上托管的所有网站的审核报告。我还想打印每个网站的日志文件夹的大小 这就是我想要的。c:\inetpub\vhosts文件夹中有几个网站。比如说abc.com和xyz.com是网站。日志文件位于c:\inetpub\vhosts\abc.com\default\logs中。我只想得到所有这些日志文件夹的大小,如下所示 1. c:\inetpub\vhosts\abc.com\default\logs
c:\inetpub\vhosts
文件夹中有几个网站。比如说abc.com
和xyz.com
是网站。日志文件位于c:\inetpub\vhosts\abc.com\default\logs
中。我只想得到所有这些日志文件夹的大小,如下所示
1. c:\inetpub\vhosts\abc.com\default\logs 100 MB
2. c:\inetpub\vhosts\xyz.com.com\default\logs 120 MB
1.c:\inetpub\vhosts\abc.com\default\logs 100 MB
2.c:\inetpub\vhosts\xyz.com.com\default\logs 120 MB
就像为每个*匹配显示文件夹大小c:\inetpub\vhosts\*\default\logs
如何使用PowerShell实现这一点?只需使用您最喜爱的搜索引擎,并使用您的帖子标题即可。您将注意到,您可以根据需要调整用例的示例脚本 在PowerShell中获取目录大小 你可能已经问过几百次这个问题,“有多大?” 当然,典型的GUI查找方法是 在Windows资源管理器中的文件夹上单击鼠标右键,然后打开文件夹的 财产。与所有GUI一样,这并不能很好地扩展。对于 例如,如果您需要100个不同文件夹的大小,该怎么办 使用PowerShell搜索和查找文件夹 在我以前的上传中{ },我写的是“如何使用Powershell搜索和查找文件”, 在此上传中,您可以搜索文件夹 用于报告文件夹大小的PowerShell函数(获取文件夹大小) Get FolderSize函数显示指定文件夹中所有文件夹的大小 路径如果要确定文件中的大型文件夹,此工具非常有用 特定路径。手动监视用户主页特别有用 福尔德斯。该函数显示文件夹名称、完整路径和大小 国标######
我最后写了下面的代码。可能不是最好的代码!但是,我得到了我想要的
#To calculate log file size of DNN wesbite at C:\inetpub\vhosts\*\httpdocs\Portals\_default\Logs
function Get-FolderSize {
[CmdletBinding()]
Param (
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
$Path,
[ValidateSet("KB","MB","GB")]
$Units = "MB"
)
if ( (Test-Path $Path) -and (Get-Item $Path).PSIsContainer ) {
$Measure = Get-ChildItem $Path -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum
$Sum = $Measure.Sum / "1$Units"
echo $Sum
}
}
Get-ChildItem -Path C:\Inetpub\vhosts -Directory | Select -exp Name > websites.txt
echo '' > log-size.txt
foreach ($website in get-content websites.txt) {
$path = "C:\inetpub\vhosts\" + $website + "\httpdocs\Portals\_default\Logs"
$logSize = get-foldersize $path
$logSize = [INT] $logSize
if ($logSize -gt 25 )
{
$logSize = $website + " :" + "$logSize" + "MB"
echo $logSize >> log-size.txt
}
}
嗨,欢迎来到stack overflow。有关如何提问和相应更新问题的更多详细信息,请参阅链接。