用于批处理的.bat重命名为fname中的增量编号

| 我有一个很大的.cbr文件夹,并且正在按发行号重命名它们以正确排序。我需要在ren行中包含什么才能使每个文件通过Windows命令提示符递增文件名中的数字?我会经常这样做,所以我将其设为.bat文件。 例如,其中n =初始编号,m =最终编号:n.cbr,(n + 1).cbr,...,(m-1).cbr,m.cbr 到目前为止的.bat:
ren *.cbz *.cbr
ren *.cbr <increment numbers n through m>.cbr
或者,如何修剪每个文件名,以使扩展名前只剩下数字? (从issue1.cbr到1.cbr)是通过.bat还是脚本宿主文件?     
已邀请:
        试试这个批处理脚本。
@echo off
setlocal enabledelayedexpansion
set /a count=0
for /f \"tokens=*\" %%a in (\'dir /b /od *.cbr\') do (
 echo ren \"%%a\" !count!.cbr
 set /a count+=1
)
它使用增量计数器重命名所有文件。文件的顺序由
DIR
命令的
/OD
选项保留,该命令按修改后的时间戳对文件列表进行排序。 经过仔细的测试后,删除
ECHO
命令。 有关更多信息,请阅读
HELP DIR
HELP SET
HELP FOR
。     
        
:: REN-sec.cmd ==> Rename files to increment numbers
:: Inspired on -> http://stackoverflow.com/questions/6322329#6324312
:: - (cX) 2017 adolfo.dimare@gmail.com
:: -> CAVEAT: Works on CURRENT directory!
:: - Tested on Win10 64bits
@echo off

if (%1)==()   goto _help
if (%1)==(/?) goto _example

setLOCAL EnableDelayedExpansion
rem            EnableExtensions
if (%1)==(/r) goto _recursive
if (%1)==(/R) goto _recursive
goto _current_dir

:_recursive
for /d %%A in (*.*) do (
      cd \"%%~A\"
      call %~dpnx0 %1 %2 %3 %4
      rem echo returning -^> call %~dpnx0 %1 %2 %3 %4
      cd ..
)
shift
goto _current_dir

:_current_dir
set /a _count=0
for %%A in (%1) do (
    set /a _count+=1

    rem Execute several times to rename \'crazy\' left overs...
    FOR /L %%C IN (1,1,2) DO (
        if exist \"%~2!_count!%~3%%~xA\" call :skip_count %1 %2 %3 %AA
        if exist \"%%~A\" if not exist \"%~2!_count!%~3%%~xA\" ren \"%%~A\" \"%~2!_count!%~3%%~xA\"
    )
    if exist \"%%~A\" echo EXISTS \"%%~A\"
    REM if not exist \"%~2!_count!%~3%%~xA\" echo MISSING %~2!_count!%~3%%~xA
)
goto _out

:skip_count
    set /a _count+=1
    if exist \"%~2!_count!%~3%%~x4\" goto skip_count
goto _out

:_example
echo.
echo %0 USAGE EXAMPLE
echo.
echo X:\\Dir\\SubDir\\^> dir /b
echo etc.
echo La La La.mp3
echo Le Le Le.mp3
echo Lo Lo Lo.mp3
echo Other.txt
echo.
echo X:\\Dir\\SubDir\\^> %0 *.mp3 \"\" \" - Su Fix\"
echo.
echo X:\\Dir\\SubDir\\^> dir /b
echo etc.
echo 1 - Su Fix.mp3
echo 2 - Su Fix.mp3
echo 3 - Su Fix.mp3
echo Other.txt
echo.

:_help
echo Rename files to increment numbers
echo.
echo CAVEAT: Works only in CURRENT directory!
echo.
echo %0 [/r] *.ext [prefix] [sufix]
echo:  /?          Help screen
echo   /r          Recurse in directories
echo   *.ext       Simple wildcard (like *.mp3) [NOT *.a.txt]
echo   prefix      Prefix to rename number
echo   sufix       sufix to rename number
echo.
echo When \"\" is used as prefix no prefix is put before the increment number
echo.
echo X:\\Dir\\SubDir\\^> %0 [/r] [wildcard] [prefix] [sufix]
goto _out

:_out
:: REN-sec.cmd ==> End of file
    

要回复问题请先登录注册