47 lines
2.1 KiB
HTML

<!-- 24 -->
<p>
Esta función la hice para hacer conteo de archivos ya sea de forma recursiva o no de los archivos en un directorio,
la forma de usarlo es muy sencilla, en la terminal muevete al directorio donde quieres realizar el conteo, la función
tiene un parámetro llamado IsRecursive el cual es obligatorio
y puede ser T y F donde T = True, hace el conteo de todos los subdirectorios y F = False, hace el conteo solo de los
archivos en el direcotrio principal sin considerar subdirectorios,
ejemplo:
</p>
<div class="img zoomable">
<img src="/static/source_imgs/powershell/pst_3/1.png" alt="" style="height: 250px; width: auto;">
</div>
<p>
De la imagen anterior podemos ver que no es recursivo el conteo, pero que encuentra 4 archivos y no hay subfolders,
hay 2 archivos pdf, 1 docx y 1 xlsx.
</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code class="code_lightMode">
function CountFilesAndFolders {
param(
[string]$IsRecursive
)
$curP = pwd
if ($IsRecursive -eq "") {
Write-Host "El parametro -IsRecursive es obligatorio y solo acepta T= true o F=false, ejemplo de sitaxis:" -ForegroundColor Red
Write-Host "CountFilesAndFolders -IsRecursive T"
}
elseif (($IsRecursive -eq "T") -or ($IsRecursive -eq "F")) {
if ($IsRecursive -eq "T") {
$totalFiles = (Get-ChildItem -Path $curP -Recurse -File | Measure-Object).Count
$totalFolders = (Get-ChildItem -Path $curP -Recurse -Directory | Measure-Object).Count
Get-ChildItem -Path $curP -Recurse -File | group Extension -NoElement | sort Count -Descending
}
elseif ($IsRecursive -eq "F") {
$totalFiles = (Get-ChildItem -Path $curP -File | Measure-Object).Count
$totalFolders = (Get-ChildItem -Path $curP -Directory | Measure-Object).Count
Get-ChildItem -Path $curP -File | group Extension -NoElement | sort Count -Descending
}
Write-Host "Total files: " $totalFiles -ForegroundColor Green
Write-Host "Total folders:" $totalFolders -ForegroundColor Green
}
elseif ($IsRecursive -ne "T" -and $IsRecursive -ne "F") {
Write-Host "Verifica el parametro ingresado" -ForegroundColor Red
}
}
</code></pre>