カスタムレポートの列が消える

カスタムレポートの列が消える

スクリプトの目的:
オーディオ ファイルを読み取り、曲名とそれぞれの LUFS 値を含むカスタム レポートを作成します。

問題:
曲名が長すぎると、レポートから LUFS 値列が表示されなくなります。

長い名前のファイルなしのレポート: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

長い名前のファイルを含むレポート: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...

上記のレポートでは、曲の長い名前が完全には表示されず、...最後にのみ表示されることに注意してください。

脚本:

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

長い名前の曲がある場合でも、レポートを正しく (両方の列を使用して) 生成するにはどうすればよいですか?

答え1

仕組みは以下のとおりです:

txt ファイルへのパス変数を作成しました:
$files = "C:\Users\$env:username\Desktop\Logs_LUFS\Music LUFS Values Report.txt"

パス変数を使用して txt ファイルを生成しました。

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

関連情報