https://unix.stackexchange.com/a/624808/説明する:
簡単な方法:
cd
ファイルディレクトリを入力してください- 走る
ffmpeg -f concat -safe 0 -i <(for f in ./*.mp3; do echo "file '$PWD/$f'"; done) -c copy ./output.mp3
これはショートカットではなく、実際のディレクトリにCDを挿入した場合にのみ機能します。
詳細については、次を参照してください。Concatenateに関するffmpeg Wikiページ
「これはショートカットではなく、実際のディレクトリにCDを挿入した場合にのみ機能する」のはなぜですか?
cd
親フォルダへのソフトリンクを介してファイルフォルダに入ると効果がありました。
答え1
私考える答えはUNIX / LinuxとWindowsソリューションの混合です。
ディレクトリショートカットを使用すると、コードが機能しないという説明はWindows環境で有効です。
UNIX/Linux で実行する場合、有効または必要な制限ではないようです。これは、Windowsファイルやディレクトリのショートカットでは機能しないCygwinの不要な制限のようです。
答え2
私は窓が見えるとき、特定の状況で問題が発生すると思います。NTFSリンク(接合)ターゲットファイルの代わりにそこに./output.mp3ファイルを作成してみてください(場所と権限によっては失敗する可能性があります)。
単に次のことを試みる cd -P the_directory
のではなくcd the_directory
、シェルに「分析」して「標準」パス、つまりシンボリックリンクパスではなく実際のパスを見つけるようにすることができます。
(シンボリックリンクやntfs等価物が多いと少しトリッキーになることがあります...)