La columna del informe personalizado desaparece

La columna del informe personalizado desaparece

Propósito del script:
Leer archivos de audio y crear un informe personalizado con el nombre de las canciones y el valor LUFS de cada una.

Problema:
cuando el nombre de una canción es demasiado largo, la columna Valor LUFS desaparece del informe.

Informe sin el archivo con el nombre largo: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

Informe con el archivo con el nombre largo: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...

Tenga en cuenta que en el informe el nombre largo de la canción no aparece completo, solo se muestra ...al final.

Guion:

[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"

¿Cómo hacer que el informe se genere correctamente (con ambas columnas) incluso cuando hay una canción con un nombre largo?

Respuesta1

Así es como funciona:

Creó la variable de ruta al archivo txt:
$files = "C:\Users\$env:username\Desktop\Logs_LUFS\Music LUFS Values Report.txt"

Usó la variable de ruta para generar el archivo txt:

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

información relacionada