
私のスクリプトは 1 つのファイルでは完璧に動作しますが、複数のファイルを処理すると、作業フォルダーが早く削除され、1 つのファイルのみが処理されます。作業フォルダーを削除しないと、スクリプトは複数のファイルで動作します。これが私のスクリプトです:
#!/bin/bash
cd /storage/sort_tv/
mkdir workingfolder
for i in *.mp4;
do name=`echo "$i" | cut -d'.' -f1`
echo "$name"
sudo ffmpeg -i "$i" -map_metadata -1 -c:v copy -c:a copy -map 0:a -map 0:v "workingfolder/${i%.*}.mp4" &&
mv -f workingfolder/* /storage/sort_tv
rm -rf workingfolder
done
作業フォルダーを削除する前に、すべてのファイルを処理して移動するにはどうすればよいですか?
答え1
rm コマンドをループ外に移動してみてください。次のようにします。
#!/bin/bash
cd /storage/sort_tv/
mkdir workingfolder
for i in *.mp4;
do name=`echo "$i" | cut -d'.' -f1`
echo "$name"
sudo ffmpeg -i "$i" -map_metadata -1 -c:v copy -c:a copy -map 0:a -map 0:v "workingfolder/${i%.*}.mp4" &&
done
mv -f workingfolder/* /storage/sort_tv
rm -rf workingfolder