diff --git a/Scripts/list-cli-tools.ps1 b/Scripts/list-cli-tools.ps1 index 14a5b501..d6036920 100755 --- a/Scripts/list-cli-tools.ps1 +++ b/Scripts/list-cli-tools.ps1 @@ -11,114 +11,124 @@ Author: Markus Fleschutz / License: CC0 #> -function CheckFor { param([string]$Cmd) +function CheckFor { param([string]$Cmd, [string]$VersionArg) try { $Info = Get-Command $Cmd -ErrorAction Stop + $Version = $Info.Version $Location = $Info.Source + if ($Version -eq "0.0.0.0") { + $Result = invoke-expression "$Location $VersionArg" + if ($Result -match '\d+\.\d+') { + $Version = "$($Matches[0])" + } else { + $Version = "?" + } + } if (test-path "$Location" -pathType leaf) { $FileSize = (Get-Item "$Location").Length } else { $FileSize = "0" } - new-object PSObject -Property @{ Name=$Cmd; Version=$Info.Version; Location=$Location; FileSize=$FileSize } + new-object PSObject -Property @{ Name=$Cmd; Version=$Version; Location=$Location; FileSize=$FileSize } } catch { return } } function ListTools { - CheckFor 7z - CheckFor ant - CheckFor apt - CheckFor apt-get - CheckFor amixer - CheckFor aplay - CheckFor ar - CheckFor arecord - CheckFor at - CheckFor awk - CheckFor basename - CheckFor bash - CheckFor bc - CheckFor cc - CheckFor cksum - CheckFor clang - CheckFor curl - CheckFor cut - CheckFor diff - CheckFor find - CheckFor ftp - CheckFor gcc - CheckFor gdb - CheckFor git - CheckFor gpg - CheckFor help - CheckFor ipfs - CheckFor java - CheckFor lsb_release - CheckFor lzma - CheckFor make - CheckFor md5sum - CheckFor mkfifo - CheckFor nice - CheckFor nroff - CheckFor nslookup - CheckFor openssl - CheckFor perl - CheckFor ping - CheckFor ping6 - CheckFor printf - CheckFor python - CheckFor regedit - CheckFor replace - CheckFor robocopy - CheckFor rsh - CheckFor rsync - CheckFor rundll32 - CheckFor scp - CheckFor sftp - CheckFor sha1sum - CheckFor sha256sum - CheckFor sha512sum - CheckFor ssh - CheckFor ssh-keygen - CheckFor sort - CheckFor split - CheckFor strace - CheckFor strings - CheckFor strip - CheckFor sudo - CheckFor tail - CheckFor tar - CheckFor tasklist - CheckFor tee - CheckFor time - CheckFor top - CheckFor tskill - CheckFor tzsync - CheckFor uniq - CheckFor vi - CheckFor vim - CheckFor vulkaninfo - CheckFor waitfor - CheckFor wakeonlan - CheckFor wget - CheckFor where - CheckFor whatis - CheckFor which - CheckFor whoami - CheckFor wput - CheckFor write - CheckFor xcopy - CheckFor yes - CheckFor zip - CheckFor zipcloak - CheckFor zipdetails - CheckFor zipgrep - CheckFor zipinfo - CheckFor zipnote - CheckFor zipsplit - CheckFor zsh + CheckFor 7z "--version" + CheckFor ant "--version" + CheckFor apt "--version" + CheckFor apt-get "--version" + CheckFor amixer "--version" + CheckFor aplay "--version" + CheckFor ar "--version" + CheckFor arecord "--version" + CheckFor at "-V" + CheckFor awk "--version" + CheckFor basename "--version" + CheckFor bash "--version" + CheckFor bc "--version" + CheckFor cc "--version" + CheckFor cksum "--version" + CheckFor clang "--version" + CheckFor curl "--version" + CheckFor cut "--version" + CheckFor diff "--version" + CheckFor find "--version" + CheckFor ftp "--version" + CheckFor gcc "--version" + CheckFor gdb "--version" + CheckFor git "--version" + CheckFor gpg "--version" + CheckFor help "--version" + CheckFor htop "--version" + CheckFor ipfs "--version" + CheckFor java "--version" + CheckFor lsb_release "--version" + CheckFor lzma "--version" + CheckFor make "--version" + CheckFor md5sum "--version" + CheckFor mkfifo "--version" + CheckFor nice "--version" + CheckFor nroff "--version" +# CheckFor nslookup "--version" + CheckFor openssl "--version" + CheckFor perl "--version" + CheckFor ping "--version" + CheckFor ping6 "--version" + CheckFor printf "--version" + CheckFor python "--version" + CheckFor regedit "--version" + CheckFor replace "--version" + CheckFor robocopy "--version" + CheckFor rsh "--version" + CheckFor rsync "--version" + CheckFor rundll32 "--version" + CheckFor scp "--version" + CheckFor sftp "--version" + CheckFor sha1sum "--version" + CheckFor sha256sum "--version" + CheckFor sha512sum "--version" + CheckFor ssh "--version" + CheckFor ssh-keygen "--version" + CheckFor sort "--version" + CheckFor split "--version" + CheckFor strace "--version" + CheckFor strings "--version" + CheckFor strip "--version" + CheckFor sudo "--version" + CheckFor tail "--version" + CheckFor tar "--version" + CheckFor tasklist "--version" + CheckFor tee "--version" + CheckFor time "--version" + CheckFor top "--version" + CheckFor tskill "--version" + CheckFor tzsync "--version" + CheckFor uniq "--version" + CheckFor vi "--version" + CheckFor vim "--version" + CheckFor vulkaninfo "--version" + CheckFor waitfor "--version" + CheckFor wakeonlan "--version" + CheckFor wget "--version" + CheckFor where "--version" + CheckFor whatis "--version" + CheckFor which "--version" + CheckFor whoami "--version" + CheckFor wput "--version" + CheckFor write "--version" + CheckFor xcopy "--version" + CheckFor yes "--version" + CheckFor zip "--version" + CheckFor zipcloak "--version" + CheckFor zipdetails "--version" + CheckFor zipgrep "--version" + CheckFor zipinfo "--version" + CheckFor zipnote "--version" + CheckFor zipsplit "--version" + CheckFor zsh "--version" } try {