GUID = '57a6bea3-0ea5-44b3-95d2-71d122772f1c'
Author = 'Ardis Lu'
Description = 'My personal utility functions.'
- FunctionsToExport = @('Invoke-RandomFile', 'ConvertTo-Base64String', 'Get-StringHash', 'Get-SizeDurationRatio', 'Get-ExtendedFileProperties')
+ FunctionsToExport = @('Invoke-RandomFile', 'ConvertTo-Base64String', 'Get-StringHash', 'Get-SizeDurationRatio', 'Get-ExtendedFileProperty')
CmdletsToExport = @()
VariablesToExport = @()
AliasesToExport = @()
}
}
-class ExtendedFileProperties {
+class ExtendedFileProperty {
[String]$Path
[String]$FileName
[Int]$PropertyIndex
[String]$PropertyValue
}
-$ExtendedFilePropertiesDisplay = @{
- TypeName = 'ExtendedFileProperties'
+$ExtendedFilePropertyDisplay = @{
+ TypeName = 'ExtendedFileProperty'
DefaultDisplayPropertySet = 'FileName', 'PropertyName', 'PropertyValue'
}
-Update-TypeData @ExtendedFilePropertiesDisplay -Force
+Update-TypeData @ExtendedFilePropertyDisplay -Force
-function Get-ExtendedFileProperties {
+function Get-ExtendedFileProperty {
<#
.SYNOPSIS
Gets a file's extended file properties.
The path to the file to get extended file properties for.
.EXAMPLE
- PS> Get-ExtendedFileProperties example.mp4
+ PS> Get-ExtendedFileProperty example.mp4
FileName PropertyName PropertyValue
-------- ------------ -------------
(...)
.EXAMPLE
- PS> Get-ExtendedFileProperties example.mp4 | where PropertyName -like 'Date*'
+ PS> Get-ExtendedFileProperty example.mp4 | where PropertyName -like 'Date*'
FileName PropertyName PropertyValue
example.mp4 Date accessed 12/26/2021 12:37 AM
.EXAMPLE
- PS> @('example.mp4', 'example2.mp4') | Get-ExtendedFileProperties | where PropertyName -in 'Size', 'Length', 'Frame width', 'Frame height', 'Total bitrate'
+ PS> @('example.mp4', 'example2.mp4') | Get-ExtendedFileProperty | where PropertyName -in 'Size', 'Length', 'Frame width', 'Frame height', 'Total bitrate'
FileName PropertyName PropertyValue
example2.mp4 Total bitrate 952kbps
#>
- [OutputType([ExtendedFileProperties])]
+ [OutputType([ExtendedFileProperty])]
[CmdletBinding()]
param(
[Parameter(Mandatory, ValueFromPipeline)]
foreach ($i in 0..512) {
$property = $folderObject.GetDetailsOf($fileObject, $i)
if ($property) {
- [ExtendedFileProperties] @{
+ [ExtendedFileProperty] @{
Path = $resolvedPath
FileName = $fileName
PropertyIndex = $i