求把 中文.txt1 中文.txt2 中文.txt3 ... 这样的文件用批处理改为 中文1.txt 中文2.txt 中文3.txt...
求把中文.txt1中文.txt2中文.txt3...这样的文件用批处理改为中文1.txt中文2.txt中文3.txt......
求把 中文.txt1 中文.txt2 中文.txt3 ... 这样的文件用批处理改为 中文1.txt 中文2.txt 中文3.txt...
展开
3个回答
展开全部
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /a-d /b 中文.txt*') do (
set "n=%%~xa"
set "n=!n:~4!"
if not "!n!"=="" ren "%%a" "%%~na!n!.txt"
)
将此批处理放在和“中文.txt1"同一文件夹中运行,扩展名是包括前面的点的,刚才没考虑到
追问
您好,文件夹中不只有 中文.txt1 这种
还有 英文.txt1
法文.txt1等等,能不能用一个批处理都处理呢?
追答
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /a-d /b *.txt*^|findstr /i /E "\.txt[^.][^.]*"') do (
set "n=%%~xa"
set "n=!n:~4!"
if not "!n!"=="" ren "%%a" "%%~na!n!.txt"
)
已经修改成对所有名字的txt??类型文件处理
对当前文件夹中所有扩展名类似txt1的文件,将txt后面部分移到主文件名的后面
展开全部
@for /l %%i in (1,1,20) do @ren 中文.txt%%i 中文%%i.txt
20根据你最大的文件序号修改。
20根据你最大的文件序号修改。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一行就行了
for /f "tokens=* delims=" %%i in ('dir *.txt /s /b') do (ren "%%i" "%%~ni.txt")
追问
您好,只改了第一个文件啊,后面的都没有变化
追答
你文件有重名,加一句就行了
setlocal EnableDelayedExpansion&for /f "tokens=* delims=" %%i in ('dir *.txt /s /b') do (set /a m+=1&ren "%%i" "%%~ni!m!.txt")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询