gpt4 book ai didi

c - 如何通过批处理文件重命名具有数字后缀的文件

转载 作者:行者123 更新时间:2023-11-30 16:30:19 26 4
gpt4 key购买 nike

我有一个遗留程序,将文件名创建为 <Common Prefix>_<Number>.dat并将它们按升序排列在列表中,如下所示:

A2_132.dat
A2_184.dat
A2_24.dat
A2_362.dat

但是,我需要按照用作尾随名称的数字升序重命名文件,例如132, 184, 24, 362按照其数值的顺序 24, 132, 184, 362这样我就可以将文件名排序为:

A2_24.dat
A2_132.dat
A2_184.dat
A2_362.dat

我认为,文件名需要重命名为:

A2_024.dat
A2_132.dat
A2_184.dat
A2_362.dat

考虑到我可能必须递归地访问所有子文件夹,如何通过 Windows 批处理程序或 C 程序来完成此操作。我暂时不想更改旧程序来更改文件生成和命名逻辑。

最佳答案

misunderstood the recursive part so, only added in code...

所以,如果我很好地理解了这个问题,也许这段代码“适合”你:

@echo off & cd /d "%~dp0" 

setlocal EnableDelayedExpansion

for /r "%~dp0" %%R in (*.dat) do (

set "_ren_it=%%~fR"
set "_to_add_0=%%~nxR"

for /f "tokens=1,2 delims=_" %%i in ('echo/!_to_add_0!') do (

set _j=00%%j
set "_File_Ren_=%%~i_!_j:~-7!"
ren "!_ren_it!" !_File_Ren_!

)
)

关于c - 如何通过批处理文件重命名具有数字后缀的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51235418/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com