Batch file 按日期批量重命名文件
我渲染了140000帧来制作一部电影。 但是,它从1.png开始,如果它从000001.png开始会更好,以便在最终剪切express中导入时保持良好的顺序 我曾经有一个程序的r-名称,但这是基于电源pc,所以它不再工作。 此外,该计划是相当屎,甚至有一批300个文件,例如,所以我想它会更好地使用终端 我见过重命名的例子,但大多数都是在哪里更改扩展名,例如更改前缀Batch file 按日期批量重命名文件,batch-file,terminal,rename,Batch File,Terminal,Rename,我渲染了140000帧来制作一部电影。 但是,它从1.png开始,如果它从000001.png开始会更好,以便在最终剪切express中导入时保持良好的顺序 我曾经有一个程序的r-名称,但这是基于电源pc,所以它不再工作。 此外,该计划是相当屎,甚至有一批300个文件,例如,所以我想它会更好地使用终端 我见过重命名的例子,但大多数都是在哪里更改扩展名,例如更改前缀 有人能帮我找到正确的终端脚本吗?我需要尽快完成此项目,否则我会重新渲染它,但需要15个小时。效率不高,但因为您只需要运行一次: fo
有人能帮我找到正确的终端脚本吗?我需要尽快完成此项目,否则我会重新渲染它,但需要15个小时。效率不高,但因为您只需要运行一次:
for i in `seq 1 140000`; do
mv $i.png `printf %06d $i`.png
done
编辑:我可能错误地认为您使用的是Linux。这在Windows上不起作用
编辑:是的,这应该在Mac OS X中工作。您可以将其保存到文件中,而不是在提示符中键入这些行。通常,您会使用rename.sh这样的名称保存这样的文件。然后您可以在终端上运行它,如下所示:
sh rename.sh
如果您不确定,可以将中压线路更改为:
echo mv $i.png `printf %06d $i`.png
这将在屏幕上打印将要执行的命令。然后,如果一切正常,您可以将其更改回原始状态并再次运行
如果文件数量不同,只需将140000替换为最后一个文件的数量。效率不高,但因为您只需要运行一次:
for i in `seq 1 140000`; do
mv $i.png `printf %06d $i`.png
done
for i in *.png
do
name=${i%.png}
[[ $name =~ ^[0-9]+$ ]] && mv $i "$(printf '%06d' $name).png"
done
编辑:我可能错误地认为您使用的是Linux。这在Windows上不起作用
编辑:是的,这应该在Mac OS X中工作。您可以将其保存到文件中,而不是在提示符中键入这些行。通常,您会使用rename.sh这样的名称保存这样的文件。然后您可以在终端上运行它,如下所示:
sh rename.sh
如果您不确定,可以将中压线路更改为:
echo mv $i.png `printf %06d $i`.png
这将在屏幕上打印将要执行的命令。然后,如果一切正常,您可以将其更改回原始状态并再次运行
如果文件的数量不同,只需将140000替换为最后一个文件的数量。如果您使用的是Windows
for i in *.png
do
name=${i%.png}
[[ $name =~ ^[0-9]+$ ]] && mv $i "$(printf '%06d' $name).png"
done
@echo off
setlocal enableDelayedExpansion
for %%F in (*.png) do (
set "name=00000%%~nF"
ren "%%F" "!name:~-6!.png"
)
如果您正在使用Windows
@echo off
setlocal enableDelayedExpansion
for %%F in (*.png) do (
set "name=00000%%~nF"
ren "%%F" "!name:~-6!.png"
)
我用的是MacOSX,所以这一定行得通吧?我查过了,finder说它是121596个文件,但当我复制粘贴到另一个dit时,它是140000中的一部分,所以我必须用脚本中的140000做什么?我还必须将其键入一行或三次?我将kev的答案标记为可接受的原因,因为他的答案更干净,我认为根据这一点选择stackoverflow的质量很重要。我用了他的台词。不过,你在这方面帮了大忙,谢谢你。希望我能标记2个答案…我使用MacOSX,所以这一定能正常工作?我查过了,finder说它是121596个文件,但当我复制粘贴到另一个dit时,它是140000中的一部分,所以我必须用脚本中的140000做什么?我还必须将其键入一行或三次?我将kev的答案标记为可接受的原因,因为他的答案更干净,我认为根据这一点选择stackoverflow的质量很重要。我用了他的台词。不过,你在这方面帮了大忙,谢谢你。希望我能标记2个答案…我必须在1次内键入此答案,还是在每行后按回车键?您可以在一行中输入所有答案;我必须在每行输入一次,还是在每行后按回车键?您可以在一行中输入所有内容;