批量更换一个文件夹里所有文本的文件名,要求拾取原文件名的数字,然后四位数字命名,如0001.txt延续下去
比如文件名我的123.txt,要求命名为0123.txt,还有一种情况就是文件名会出现括号,而且括号也有数字,要求括号的内容全部不要,比如:hd124(fg12344)....
比如文件名我的123.txt,要求命名为0123.txt,
还有一种情况就是文件名会出现括号,而且括号也有数字,要求括号的内容全部不要,比如:hd124(fg12344).txt,更名后为0124.txt。
文本文件名的数字都不超过四位数,一般多为中文、字母、(括号内容)、数字组成,如我k43(gd12345).txt,或只有字母和数字组成。
全部命名为四位数字,不够的在前面补够 展开
还有一种情况就是文件名会出现括号,而且括号也有数字,要求括号的内容全部不要,比如:hd124(fg12344).txt,更名后为0124.txt。
文本文件名的数字都不超过四位数,一般多为中文、字母、(括号内容)、数字组成,如我k43(gd12345).txt,或只有字母和数字组成。
全部命名为四位数字,不够的在前面补够 展开
2个回答
展开全部
分两个bat进行
第一个先把文件命名为本身的数字
@echo off
for /f "delims=" %%a in ('dir /a /b *.txt') do call :lp "%%a" %%~na %%~xa
goto :eof
:lp
set "str=%2"
for /l %%a in (0,1,9) do call,set "str=%%str:%%a=%%"
for /f "delims=%str%" %%a in ("%2") do ren %1 %%a%3
第二个把文件名补足四位数
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b *.txt') do (
set "str=0000%%~na"&set "str=!str:~-4!"
ren %%a !str!.txt
)
第一个先把文件命名为本身的数字
@echo off
for /f "delims=" %%a in ('dir /a /b *.txt') do call :lp "%%a" %%~na %%~xa
goto :eof
:lp
set "str=%2"
for /l %%a in (0,1,9) do call,set "str=%%str:%%a=%%"
for /f "delims=%str%" %%a in ("%2") do ren %1 %%a%3
第二个把文件名补足四位数
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b *.txt') do (
set "str=0000%%~na"&set "str=!str:~-4!"
ren %%a !str!.txt
)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询