Private/Get-FileVersion.ps1
|
function Get-FileVersion { Param( [Parameter(Mandatory = $True)][string]$fullname ) $CurrentFunction = Get-FunctionName Write-Log -Message "### Start Function $CurrentFunction ###" $StartRunTime = (Get-Date).ToString($Script:DateFormatLog) #################### main code | out- host ##################### If ((Test-Path -Path $fullname -PathType Leaf) -eq $false) { $release = "failed" # Write-Host "WARNING: Cannot find file - $fullname!" -ForegroundColor $Script:FGCWarning # Write-Log -Message "WARNING: Cannot find file - $fullname!" -level WARN Invoke-Output -T Warning -M "Cannot find file - $fullname!" If ($fullname.ToUpper() -eq $Script:ConfigFile.ToUpper()) { Write-Host "`n`nProbably you started the PoSH Script $scriptName `nfrom the wrong directory $Script:ConfigFile!" -ForegroundColor $Script:FGCError return } } else { [datetime] $LastWriteTime = (get-item $fullname).LastWriteTime [String] $FileVersion = (get-item $fullname).VersionInfo.FileVersion $build = Get-date -date $LastWriteTime -Format yyyyMMdd $release = ("Release: " + $FileVersion.PadRight(9, [Char]32) + "(last build $build)") Write-Log -Message " >> Version of $fullname is $release!" } ######################## main code ############################ $runtime = Get-RunTime -StartRunTime $StartRunTime Write-Log -Message " Run Time: $runtime [h] ###" Write-Log -Message "### End Function $CurrentFunction ###" return $release } |