我有一个文件夹,里面有文件 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."
如果您想要的处理与此不同,您可能需要编辑您的问题以提供更多详细信息。