-1

フォルダー内の何百もの TIF ファイルの名前を、先頭にゼロを付けた 5 桁の数字に変更するスクリプトを作成する必要があります。たとえば、00001、00002、00003 などです。開始番号も設定したいと思います。スクリプトの経験がほとんどなく、どこから始めればよいかわかりません。助けてくれてありがとう。

4

3 に答える 3

0

パラメータに最初の数値から1を引いた値を入力します。デフォルトはゼロです。

@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

これは、ほとんどの OS で利用できる Python で行います。現在のディレクトリ内のすべての TIF ファイルの名前を変更する Python スクリプトを次に示します。

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() の動作はオペレーティング システムによって異なる可能性があることに注意してください。一部の OS では、既存のファイルが新しいファイルと同じ名前で上書きされます。それ以外の場合、新しいファイルと同じ名前の既存のファイルがある場合、エラーが発生します。

于 2013-01-09T04:31:35.530 に答える
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
)

さらに、数百のファイルしかない場合は、if1000 以降の 's を取り除くことさえできます。

于 2013-01-09T09:17:55.477 に答える