日期批量重命名文件
我呈现140000帧来创建它们的电影。 然而,它从1.png开始,如果它开始于000001.png,以便在以最终切割快车输入时保持顺序良好,那将会更好。日期批量重命名文件
我曾经有一个程序的名称,但它是基于power-pc,所以它不再工作。 此外,该程序甚至连一批300个文件都很糟糕,所以我想这会更好地使用终端。
我已经看到了重命名的例子,但大多数情况下用于更改扩展例如或更改前缀。
有人可以帮我用正确的终端脚本吗?我需要尽快完成这个项目,否则我会重新渲染它,但需要15个小时才能完成。
for i in *.png
do
name=${i%.png}
[[ $name =~ ^[0-9]+$ ]] && mv $i "$(printf '%06d' $name).png"
done
效率不高,但因为你只需要运行一次:
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
如果你不确定,你可以改变mv
线分为:
echo mv $i.png `printf %06d $i`.png
这将打印在屏幕上,这将是该命令执行。然后,如果一切看起来都正常,则将其更改回原始并再次运行。
如果文件数量不同,只需将140000
替换为最后一个文件的编号即可。
我使用Mac OS X,因此必须工作的权利? 我检查,发现者说它是121596文件,但是当我复制粘贴到另一个点是140000(更多)的东西,所以我必须在你的脚本中使用140000做什么? 也必须输入一行或三次? – clankill3r 2012-03-11 16:40:42
我编辑了我的答案来回答你的问题。 – 2012-03-11 17:05:29
我标记了kev的答案,因为他接受的原因是他更清洁,我认为这对于基于此选择的*的质量很重要。 (和我用他的线)。然而,你在这里真的很有帮助,所以非常感谢。希望我可以举出2个答案... – clankill3r 2012-03-11 23:04:28
如果您使用的是Windows
@echo off
setlocal enableDelayedExpansion
for %%F in (*.png) do (
set "name=00000%%~nF"
ren "%%F" "!name:~-6!.png"
)
我必须在1次输入此值还是在每行后输入回车? – clankill3r 2012-03-11 16:41:38
你可以把'all'放在一行中,';' – kev 2012-03-12 00:59:43
否';''do'后面' – kev 2012-03-12 01:08:53