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 off
setlocal 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。谢谢!

java 批量读取并修改文件名称。

win系统cmd的copy命令多个文件批量与一个文件合并,按规律合成怎么做

cmd导入dmp文件到oracle数据库后,怎样查看导入的表中的数据