统计文件数量并进行处理(我使用 JHead)

统计文件数量并进行处理(我使用 JHead)

我有一个文件夹,里面有文件 1.JPG、2.JPG、...、12.JPG

是否有一个表达式可以一次处理所有文件?我想使用 JHead 命令,但我认为有一个通用解决方案。

谢谢你!

答案1

如果您需要的处理是将 1.JPG 重命名为 MyPicture1-320x480.jpg,将 2.JPG 重命名为 MyPicture2-320x480.jpg 等,那么如果您使用 Bash shell,您可以更改到包含文件的目录并使用以下命令:

i=0; for n in *.JPG; do mv "${n}" "MyPicture${n/.JPG/-320x480.jpg}"; i=$((i+1)); done; echo "Processed ${i} files."

(以上内容都可以在一个命令行中输入。)

或者如果你想把它放入脚本中,那么多行会更容易阅读和理解:

# reset counter variable if you want to count the number of files processed
i=0

# loop for all files in current working directory that end with ".JPG"
for n in *.JPG
do
  # rename (move) each file from the original name (${n} is generally safer than $n)
  # to a new name with some text before the original name and then with the end of
  # the original name (".JPG") replaced with a new ending
  mv "${n}" "MyPicture${n/.JPG/-320x480.jpg}"

  # increment the counter variable
  i=$((i+1))
done
# display the number of files processed.
echo "Processed ${i} files."

如果您想要的处理与此不同,您可能需要编辑您的问题以提供更多详细信息。

相关内容