我需要创建一个脚本来将文件夹中的数百个 TIF 文件重命名为带有前导零的五位数字。比如00001、00002、00003等。我也想设置起始编号。我的脚本编写经验很少,不知道从哪里开始。谢谢您的帮助。
问问题
599 次
3 回答
0
我会在 Python 中执行此操作,它在大多数操作系统上都可用。这是一个 Python 脚本,用于重命名当前目录中的所有 TIF 文件:
import os
i = 1
for tifFile in [a for a in os.listdir('.') if a.endswith('.tif')]:
newFileName = "%05d.tif" % i
os.rename(tifFile,newFileName)
i = i + 1
您需要注意 os.rename() 的行为在不同的操作系统上可能会有所不同——在某些操作系统上,它会覆盖与新文件同名的现有文件。在其他情况下,如果存在与新文件同名的现有文件,则会导致错误。
于 2013-01-09T04:31:35.530 回答
0
将初始数字减一放入参数中,默认为零:
@echo off
setlocal EnableDelayedExpansion
set num=00000%1
set num=1%num:~-5%
for /F "delims=" %%a in ('dir /b *.tif') do (
set /A num+=1
ren "%%a" "!num:~-5!.tif"
)
于 2013-01-09T16:04:17.787 回答
0
这应该可以正常工作
setlocal enabledelayedexpansion
set startnum=1
for %%a in (*.tif) do (
if !startnum! lss 10 ren "%%a" 0000!startnum!.* && set /a startnum+=1
if !startnum! lss 100 if !startnum! geq 10 ren "%%a" 000!startnum!.* && set /a startnum+=1
if !startnum! lss 1000 if !startnum! geq 100 ren "%%a" 00!startnum!.* && set /a startnum+=1
if !startnum! lss 10000 if !startnum! geq 1000 ren "%%a" 0!startnum!.* && set /a startnum+=1
if !startnum! lss 100000 if !startnum! geq 10000 ren "%%a" !startnum!.* && set /a startnum+=1
)
另外,如果你只有数百个文件,你甚至可以摆脱if
1000 之后的 's。
于 2013-01-09T09:17:55.477 回答