Spalte im benutzerdefinierten Bericht verschwindet

Spalte im benutzerdefinierten Bericht verschwindet

Zweck des Skripts:
Audiodateien lesen und einen benutzerdefinierten Bericht mit dem Namen der Songs und dem LUFS-Wert jedes Songs erstellen.

Problem:
Wenn ein Songname zu lang ist, verschwindet die Spalte „LUFS-Wert“ aus dem Bericht.

Bericht ohne die Datei mit dem langen Namen:Shows the Music and LUFS column.

Music                                                                                           LUFS
------                                                                                          ----
05 - Earth Wind and Fire - September (The Reflex Revision).mp3                                  -9,6
06 - Electric Light Orchestra - Last Train To London (Bootleg Extended Dance Remix).mp3         -9,1

Bericht mit der Datei mit dem Langnamen:Only shows the Music column and the LUFS column disappears.

Music                                                                                         
------                                                                                          
05 - Earth Wind and Fire - September (The Reflex Revision).mp3                                  
06 - Electric Light Orchestra - Last Train To London (Bootleg Extended Dance Remix).mp3         
Adele & Ellie Goulding vs. Daft Punk - The Fire Under the Sheets Something About Us (Carlos Serrano Mix...

Beachten Sie oben, dass im Bericht der Langname des Liedes nicht vollständig erscheint, sondern erst ...am Ende angezeigt wird.

Skript:

[decimal]$vLUF = -11.0

$logMatches = Select-String -Path "C:\Users\$env:username\Desktop\Logs_LUFS\*.*" -Pattern '(?<I>^ +I:) +(?<LUFS>.+)|(?<I>^Input Integrated:) +(?<LUFS>.+)' -List | Select-Object -Property FileName -ExpandProperty Matches
 $results = foreach ($log in $logMatches) {
     $pos = $log.Filename.IndexOf("_")     
     $LUFS = $log.Groups | Where-Object { $_.Name -eq "LUFS" }
     [PSCustomObject]@{
         Music = $log.Filename
         LUFS = [decimal]$($LUFS.Value -replace " .*")
        }
}

$vLUFLess = ($vLUF)+ (-0.9)
$vLUFGreat= ($vLUF)+ (-0.5)

$results | Where-Object {($_.LUFS -lt $vLUFLess) -or ($_.LUFS -gt $vLUFGreat) } | Out-File "C:\Users\$env:username\Desktop\Logs_LUFS\Music LUFS Values Report.txt"

Wie kann der Bericht korrekt (mit beiden Spalten) generiert werden, auch wenn ein Lied einen langen Namen hat?

Antwort1

So funktioniert es:

Die Pfadvariable zur txt-Datei wurde erstellt:
$files = "C:\Users\$env:username\Desktop\Logs_LUFS\Music LUFS Values Report.txt"

Zum Generieren der TXT-Datei wurde die Pfadvariable verwendet:

$results | Where-Object {($_.LUFS -lt $vLUFpsLess) -or ($_.LUFS -gt $vLUFpsGreat) } | Out-File $files

verwandte Informationen