Batch file 如何将DOS批处理文件从1.jpg重命名为0001.jpg?
如何编写DOS批处理文件,以便从中重命名任意子目录中的多个文件Batch file 如何将DOS批处理文件从1.jpg重命名为0001.jpg?,batch-file,dos,Batch File,Dos,如何编写DOS批处理文件,以便从中重命名任意子目录中的多个文件 1.jpg 10.jpg 11.jpg 12.jpg 2.jpg 3.jpg 4.jpg 5.jpg 6.jpg 7.jpg 8.jpg 9.jpg 这不是合乎逻辑的安排,我想这样做 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg 6.jpg 7.jpg 8.jpg 9.jpg 10.jpg 11.jpg 12.jpg 在它前面加了000,如>> 0001.jpg 0002.jpg 0003.jpg 0004.jpg
1.jpg
10.jpg
11.jpg
12.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg
7.jpg
8.jpg
9.jpg
这不是合乎逻辑的安排,我想这样做
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg
7.jpg
8.jpg
9.jpg
10.jpg
11.jpg
12.jpg
在它前面加了000,如>>
0001.jpg
0002.jpg
0003.jpg
0004.jpg....
因为你的名字不包含任何非字母数字字符,所以这是一个相当简单的任务
更改为所需的子记录,将数字1..999放入循环中,以“000”作为前缀,然后获取最后4个字符并进行重命名
我包含了一个ECHO
,因此只需报告操作。删除ECHO
关键字以执行重命名
如果原始名称不存在,则IF EXIST
选通会停止尝试重命名(这将生成一条难看的错误消息),如果需要,可以再次选通该选通,以防止在新文件名已存在时尝试重命名
@echo off
setlocal EnableDelayedExpansion
for %%a in (*.*) do (
set name=0000%%a
if not exist !name:~-8! ECHO ren %%a !name:~-8!
)
因为你的名字不包含任何非字母数字字符,所以这是一个相当简单的任务
更改为所需的子记录,将数字1..999放入循环中,以“000”作为前缀,然后获取最后4个字符并进行重命名
我包含了一个ECHO
,因此只需报告操作。删除ECHO
关键字以执行重命名
如果原始名称不存在,则IF EXIST
选通会停止尝试重命名(这将生成一条难看的错误消息),如果需要,可以再次选通该选通,以防止在新文件名已存在时尝试重命名
@echo off
setlocal EnableDelayedExpansion
for %%a in (*.*) do (
set name=0000%%a
if not exist !name:~-8! ECHO ren %%a !name:~-8!
)
您可以在此查看一种更通用的方法:当文件名的数字前可能有一个固定部分时
您可以在此查看一种更通用的方法:当文件名的数字前面可能有一个固定部分时。也谢谢您,Aacini:D也谢谢您,Aacini:D