Powershell 脚本使用 ffmpeg 转换 wav 文件,没有这样的文件错误

Powershell 脚本使用 ffmpeg 转换 wav 文件,没有这样的文件错误

我正在使用 powershell 脚本将一些 wav 文件从每样本 24 位、采样率为 48kHz 转换为每样本 16 位、采样率为 16kHz 的 wav。

Get-ChildItem -Recurse . | ForEach-Object {
    $extension = [IO.path]::GetExtension($_)
    $path = $_.FullName

    if ($extension -eq ".wav") {
        #echo $_
        echo "PATH: $path"
        echo "NAME: $_"
        echo "NEW:  a$_"
        ffmpeg -i "$path" -acodec pcm_s16le -ar 16000 "a$path" -y 
    }
}

如果我回应该路径,它就存在。Ffmpeg 说

filename.wav: No such file or directory

有什么想法吗?我是 powershell 新手,这可能是显而易见的。

答案1

您的输出文件全名有问题。C:\your\path\filename.wav例如aC:\your\path\filename.wav

如果你的输出文件是C:\your\path\afilename.wav

ffmpeg -i "$path" -acodec pcm_s16le -ar 16000 ('"' + (split-path -path $path) + "\a" + $_.name + '"') -y

相关内容