맞춤 보고서의 열이 사라집니다.

맞춤 보고서의 열이 사라집니다.

스크립트 목적:
오디오 파일을 읽고 노래 이름과 각 노래의 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

관련 정보