CMD怎样批量分别取文件名的部分信息更改文件名?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMD怎样批量分别取文件名的部分信息更改文件名?相关的知识,希望对你有一定的参考价值。
一个文件夹里有多个文件夹,每个文件夹里有数量不等的文件,但每个文件夹里的文件的文件名都是按数字排序,如5TY文件夹里有abc、abd、abe、abf等不定数量的文件夹,abc文件夹里有001、002、003、004等按数字排序的8个文件,abd文件夹里有001、002、003、004等按数字排序的11个文件,abe文件夹里有001、002、003、004等按数字排序的17个文件,abf文件夹里有001、002、003、004等按数字排序的13个文件,需要取文件名的后两位然后将所有文件夹里的001文件改名为01a、002为02b、003为03c、004为04d,005~007不更改文件名,最后一个(abd文件夹里的011、abe文件夹里的017)文件改名为后两位数字+aa,倒数第二个(abd文件夹里的010、abe文件夹里的016)文件改名为后两位数字+ab,以此类推直到007文件不改名。怎样用CMD实现快速批量改名(文件夹、文件扩展名都不改)
文件数量不大,更名方式固定,可以写一个死的更名bat
@echo off
set p=%p%
set pa=abc
set pb=abd
set pc=abe
set pd=abf
for %%i in (%pa%,%pb%,%pc%,%pd%) do (
move "%p%\\%%i\\001" "%p%\\%%i\\01a"
move "%p%\\%%i\\002" "%p%\\%%i\\02b"
move "%p%\\%%i\\003" "%p%\\%%i\\03c"
move "%p%\\%%i\\004" "%p%\\%%i\\04d")
move "%p%\\%pb%\\011" "%p%\\%pb%\\11aa"
move "%p%\\%pb%\\010" "%p%\\%pb%\\10ab"
move "%p%\\%pb%\\009" "%p%\\%pb%\\09ac"
move "%p%\\%pb%\\008" "%p%\\%pb%\\08ad"
move "%p%\\%pc%\\017" "%p%\\%pc%\\17aa"
move "%p%\\%pc%\\016" "%p%\\%pc%\\16ab"
move "%p%\\%pc%\\015" "%p%\\%pc%\\15ac"
move "%p%\\%pc%\\014" "%p%\\%pc%\\14ad"
move "%p%\\%pc%\\013" "%p%\\%pc%\\13ae"
move "%p%\\%pc%\\012" "%p%\\%pc%\\12af"
move "%p%\\%pc%\\011" "%p%\\%pc%\\11ag"
move "%p%\\%pc%\\010" "%p%\\%pc%\\10ah"
move "%p%\\%pc%\\009" "%p%\\%pc%\\09ai"
move "%p%\\%pc%\\008" "%p%\\%pc%\\08aj"
move "%p%\\%pd%\\013" "%p%\\%pd%\\13aa"
move "%p%\\%pd%\\012" "%p%\\%pd%\\12ab"
move "%p%\\%pd%\\011" "%p%\\%pd%\\11ac"
move "%p%\\%pd%\\010" "%p%\\%pd%\\10ad"
move "%p%\\%pd%\\009" "%p%\\%pd%\\09ae"
move "%p%\\%pd%\\008" "%p%\\%pd%\\08af"
参考技术A @echo offsetlocal enabledelayedexpansion
set "a=abcdefghijklmnopqrstuvwxyz"
set "b=dcba"
for /f "delims=" %%i in ('dir /b /ad') do (
pushd %%i
echo;处理%%i文件夹内容:
set /a n=0
for /f "delims=" %%a in ('dir /a-d /o-n /b') do (
set fn=%%~na
set fn=!fn:~-2!
if %%~na gtr 007 call :cut %a%&echo;!fn!a!fa!
if %%~na lss 005 call :cut %b%&echo;!fn!!fa!
if %%~na gtr 004 if %%~na lss 008 echo %%~na&set/a n=0
)
echo;————%%i文件夹处理完毕!&echo;&echo;
popd
)
pause
exit /b
:cut
set fa=%~1
set fa=!fa:~%n%,1!
set /a n+=1
保存bat文件放进5YT文件夹。
Win10 如何批量更改文件扩展名
环景:
Win10 专业版1904
问题描述:
CMD如何批量更改文件扩展名
解决方案:
1.在CMD窗口输入 cd 复制的要重命名扩展名的文件路径,然后点击回车
2.输入 ren *.现有文件扩展名 *.要改成的扩展名
例如: ren *.CHK *.JPG 把CHK格式文件改为JPG格式,点击回车
3.完成
以上是关于CMD怎样批量分别取文件名的部分信息更改文件名?的主要内容,如果未能解决你的问题,请参考以下文章
**.bat中,怎样将多文件,按文件名的关键字批量移动到多相应的文件夹中?
求助:怎样用cmd命令把指定的a.txt文件的编码格式从ANSI转换为UTF-8。谢谢!