Update list-executables.ps1

This commit is contained in:
Markus Fleschutz 2024-03-06 08:02:38 +01:00
parent 9bdbd172f0
commit 6625d4a909

View File

@ -1,14 +1,15 @@
<# <#
.SYNOPSIS .SYNOPSIS
Lists all executables in a directory tree Lists all executables in a dir tree
.DESCRIPTION .DESCRIPTION
This PowerShell script scans a directory tree and lists all executables. This PowerShell script scans a given directory tree and lists all executables with suffix .EXE.
.PARAMETER path .PARAMETER path
Specifies the path to the directory tree (current working directory by default) Specifies the path to the directory tree (current working directory by default)
.EXAMPLE .EXAMPLE
PS> ./list-executables.ps1 C:\Windows PS> ./list-executables.ps1 C:\Windows
C:\Windows\bfsvc.exe
... ...
Found 8239 executables within 📂C:\Windows in 99 sec Found 7967 executables within 📂C:\Windows in 168 sec.
.LINK .LINK
https://github.com/fleschutz/PowerShell https://github.com/fleschutz/PowerShell
.NOTES .NOTES
@ -20,16 +21,16 @@ param([string]$path = "$PWD")
try { try {
$stopWatch = [system.diagnostics.stopwatch]::startNew() $stopWatch = [system.diagnostics.stopwatch]::startNew()
Write-Progress "Listing executables within $path ..."
$path = Resolve-Path "$path" $path = Resolve-Path "$path"
Write-Progress "Scanning $path for executables..."
[int]$count = 0 [int]$count = 0
Get-ChildItem "$path" -attributes !Directory -recurse -force | Where-Object { $_.Name -like "*.exe" } | ForEach-Object { Get-ChildItem "$path" -attributes !Directory -recurse -force | Where-Object { $_.Name -like "*.exe" } | ForEach-Object {
"📂$($_.FullName)" "$($_.FullName)"
$count++ $count++
} }
Write-Progress -completed " " Write-Progress -completed " "
[int]$Elapsed = $stopWatch.Elapsed.TotalSeconds [int]$elapsed = $stopWatch.Elapsed.TotalSeconds
"✔️ Found $count executables within 📂$path in $elapsed sec" "✔️ Found $count executables within 📂$path in $elapsed sec."
exit 0 # success exit 0 # success
} catch { } catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"