2013-01-09 22 views
-1

我需要创建一个脚本,将文件夹中的数百个TIF文件重命名为具有前导零的五位数字。例如,00001,00002,00003等我也想设置起始号码。我有很少的脚本经验,不知道从哪里开始。谢谢您的帮助。将TIFF重命名为数字的批处理脚本

+0

请改善您的问题。你到目前为止做了什么 – BBdev

回答

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()的行为,可以在不同的操作系统不同的 - 一些操作系统它将覆盖与新文件具有相同名称的现有文件。在其他情况下,如果存在与新文件具有相同名称的现有文件,则会导致错误。

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

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" 
)