如何运行自行更改文件夹的任务

如何运行自行更改文件夹的任务

我想运行 VCS(视频联系表),这是一个创建视频文件联系表(缩略图)的程序。

这是场景:我有一个名为的根文件夹温度。在里面,我还有许多其他以年份命名的文件夹:1991、1992、1993 等。年文件夹我还有其他带有视频标题的子文件夹。这是一个例子:

Temp --> This is a folder
|
|
 1995  --> This is a folder
 |  
 |   
  Vacation in Italy  --> This is folder
  |
  |
   Video 1.mp4
   Video 2.mp4
   Video 3.mp4
   Video 4.mp4
   Video 5.mp4

我的目标是:

  1. 创建一个名为的文件夹屏幕与视频处于同一级别。
  2. 使命令 vcs 从 Temp 启动,并在文件夹内制作我所有视频的缩略图屏幕。所有视频都是MP4。所有缩略图都是JPG

制作视频缩略图的命令是:

vcs /home/user/Temp/1991/"Vacation in Italy"/"Video 1.mp4" -U0 -n 15 -c 3 -H 200 -a 300/200 -j

您知道如何使这一切自动化吗?

答案1

mp4该脚本会迭代您拥有的文件集。它需要每个文件的绝对路径,以便vcs可以可靠地找到视频文件。

for mp4 in ~/Temp/*/*/*.mp4
do
    dir="$(dirname "$mp4")"
    screen="$dir/Screen"

    if test ! -d "$screen"
    then
        echo "Processing videos in $dir" >&2
        mkdir -p "$screen"
    fi
    ( cd "$screen" && vcs "$mp4" -U0 -n 15 -c 3 -H 200 -a 300/200 -j )
done

答案2

这应该有效:

#!/bin/bash
for fd in `cat "\`ls\`"`; do
   cd ~/Temp/$fd
   for sbfd in `cat "\`ls\`"`; do
      mkdir ~/Temp/$fd/$sbfd/Screens;
      cd ~/Temp/$fd/$sbfd/Screens;
      vcs /home/user/Temp/$fd/$sbfd/*.mp4 -U0 -n 15 -c 3 -H 200 -a 300/200 -j;
      done;
done;

如果它不起作用,请告诉我给出了什么(如果有)错误消息,我将尝试为您修补它。我无法在我的机器上测试它,但理论上我认为应该没问题。

顺便说一句,您需要将其另存为 shell 脚本,并且只有当 Temp 位于您的主目录中时它才有效。

相关内容