怎么使用批处理重命名文件,并编号

怎么修改一下以下代码实现 把文件如
“文本.txt"修改为"list1.txt"
“安康.txt"修改为"list2.txt"
“你好.txt"修改为"list3.txt"
......

原代码:
@echo 开始处理......
@for /f %%a in ('dir /s/b *.txt') do (
@echo rename %%a
echo %%a处理完毕
)

批处理重命名文件,并编号操作步骤如下:

1.在需要批量重命名的文件夹里面新建一个文档.txt,双击打开,如下图红框所示;

2.在文档里面输入如下代码:

@echo off&setlocal EnableDelayedExpansion

set a=1

for /f "delims=" %%i in ('dir /b *.txt') do (

if not "%%~ni"=="%~n0" (

if !a! LSS 10 (ren "%%i" "list0!a!.txt") else ren "%%i" "list!a!.txt"

set/a a+=1

)

)

3.保存文档然后关闭,将文档重命名为“a.bat”,就是修改为文件名和扩展名,如下图红框所示;

4.弹出重命名警告框,点击“是”按钮,如下图红框所示;

5.刚刚重命名的文档产生了变化,双击允许文档,如下图红框所示;

6.文档运行速度非常快,马上就将文件夹里面所有后缀名为.txt的文件都以 list+序号 的形式命名,如下图红框所示。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-11-15

先在原文件上加p,再批量按编号重命名。

代码如下:

cls

@echo off

color 

:: note:    change the image format input,default value is 'color'

:: option:  color/yuv12/yuv21

set switch=color

::

:: don't change the following code!!!

set img_format=jpg

if %switch% EQU yuv12 (

set img_format=yuv

if %switch% EQU yuv21 (

set img_format=yuv

)

setlocal EnableDelayedExpansion

for /F "tokens=*" %%f in ('dir *.jpg  /A:-D /B') do (

ren "%%f" "p%%f"

echo "rename  %%f --> p%%f"

)

set num=0

for /F "tokens=*" %%f in ('dir *.jpg  /A:-D /B') do (

ren "%%f" "!num!.%img_format%"

echo "rename  %%f --> !num!.%img_format%"

set /A num = !num! + 1

)

扩展资料:

1、批处理echo 命令语法:

echo [{on|off}] [message]

Sample:@echo off / echo hello world

在实际应用中会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定的文件中。

2、文件管理命令:

(1)type 显示文本文件的内容。

(2)copy 将一份或多份文件复制到另一个位置。

(3)del 删除一个或数个文件。

(4)move 移动文件并重命名文件和目录。

(5)ren重命名文件。

(6)replace 替换文件。

(7)attrib 显示或更改文件属性。

(8)find 搜索字符串。

(9)fc 比较两个文件或两个文件集并显示它们之间的不同。

参考资料来源:百度百科—批处理

本回答被网友采纳
第2个回答  推荐于2017-11-24
这个好办,编一个批处理文件就可以了
复制以下代码保存为a.bat文件,放在你要改名的文件夹里运行
会把这个文件夹里的所有后缀名为.txt的文件都以 list+序号 的形式命名.

@echo off&setlocal EnableDelayedExpansion
set a=1
for /f "delims=" %%i in ('dir /b *.txt') do (
if not "%%~ni"=="%~n0" (
if !a! LSS 10 (ren "%%i" "list0!a!.txt") else ren "%%i" "list!a!.txt"
set/a a+=1
)
)本回答被提问者采纳
相似回答