桌面屏幕上的 Powershell 脚本对某个文件夹中的文件执行命令。当我在桌面上运行该脚本时,它可以工作,但是当我将脚本移动到另一个位置时,它不会运行,也不会生成任何内容!如何使 powershell 脚本在我的 PC 上的任何位置运行?
按照脚本:
Write-Host "Enter the LUFS value you intend to Normalize Files" -ForegroundColor Yellow
[decimal] $vLUFps= Read-Host -Prompt "LUFS value"
$logMatches = Select-String -Path "C:\Users\username\Desktop\Logs_LUFS\*.log" -Pattern '(?<I>^ +I:) +(?<LUFS>.+)' -List | Select-Object -Property FileName -ExpandProperty Matches
$results = foreach ($log in $logMatches) {
$LUFS = $log.Groups | Where-Object { $_.Name -eq "LUFS" }
[PSCustomObject]@{
Nome = $log.Filename
LUFS = [decimal]$($LUFS.Value -replace " .*")
}
}
$vLUFps+= -0.9
$results | Where-Object { $_.LUFS -lt $vLUFps } | Out-File "C:\Users\username\Desktop\Logs_LUFS\A LISTA DE MÚSICAS APTAS para Normalização.txt"
注意:
通过 powershell 命令行运行时,输出文件名在文件夹中正确创建,但是通过 ps1 脚本运行时,文件名用代码代替特殊字符生成。
powershell命令行中生成的输出文件的正确名称:
A LISTA DE MÚSICAS APTAS para Normalização.txt
当我在 powershell 命令行之外运行脚本时,输出文件(用代码生成)的名称错误地代替了特殊字符:
A LISTA DE MÚSICAS APTAS para Normalização.txt