在 Synology SSH 命令行上循环文件

Loop through files on Synology SSH command line

我安装了带有 ipkg 的 Synology,并且 mkvmerge 正在运行。

当我使用

/opt/bin/mkvmerge -o /path_to_file/filename.added_subs.mkv 
--default-track 0 --language 0:eng /path_to_file/filename.srt     
/path_to_file/filename.mkv

这非常有效,文件被重新混合并添加了字幕。

但是因为我有很多(很多)文件我想用它来做,我想 运行 一个批处理。

我找到这一行来解释我想做什么:

FOR %A IN (/path_to_files/*.mkv) DO /opt/bin/mkvmerge -o /path_to_files/%~nA.added_subs.mkv --default-track 0 --language 0:eng /path_to_files/%~nA.srt /path_to_files/%~nA.mkv

但是 Synology 不接受 FOR ... IN 命令。

有人知道如何完成这个吗?

找到了:

FILES=/path/*.mkv
for f in $FILES 
do /opt/bin/mkvmerge -o ${f%.*}.EN.mkv --default-track 0 --language 0:en ${f%.*}.srt ${f%.*}.mkv
done