如何用CMD批处理所有子文件夹里的文件名称前加上对应文件夹的名字. 10
D盘有文件夹名称【批处理文件夹】,该文件夹里面有子文件夹【WK、WK(2)、WK(3)、WK(4)。。。。】等多个子文件夹,子文件夹【WK、WK(2)、WK(3)、WK(...
D盘有文件夹名称【批处理文件夹】,该文件夹里面有子文件夹【WK、WK(2)、WK(3)、WK(4)。。。。】等多个子文件夹,子文件夹【WK、WK(2)、WK(3)、WK(4)。。。。】每个文件夹里面都有很多文件,我想把每个对应的子文件夹里的文件名称前面加上对应的子文件夹名称。如:文件夹WK里面的文件有1.jpg,2.jpg,3.txt,8.mp4等文件,修改后变成WK1.jpg,WK2.jpg,WK3.txt,WK8.mp4等效果。想要一个小程序一下把【批处理文件夹】所有的子文件夹里面的文件都实现这种效果。请大神帮助小弟,这个问题困扰了我很久了.
展开
1个回答
2017-04-19
展开全部
@Echo Off
For /f "tokens=*" %%i in ('dir /ad /b /s "%~dp0"') do (
For /f "tokens=*" %%j in ('dir /a-d /b /s "%%i\*.*"') do (
Ren "%%j" "%%~nxi%%~xj"
Move "%%i\%%~nxi%%~xj" "D:\文件提取到此文件夹\"
Rd /q "%%i"))
Pause
以上内容保存为批处理文件(xx.bat),和要提取文件的子文件夹放在一起即可,例如 和 文件夹1、文件夹2 放在一起.
默认保留文件后缀名,如果不保留文件后缀名请删除 "%%~xj"
For /f "tokens=*" %%i in ('dir /ad /b /s "%~dp0"') do (
For /f "tokens=*" %%j in ('dir /a-d /b /s "%%i\*.*"') do (
Ren "%%j" "%%~nxi%%~xj"
Move "%%i\%%~nxi%%~xj" "D:\文件提取到此文件夹\"
Rd /q "%%i"))
Pause
以上内容保存为批处理文件(xx.bat),和要提取文件的子文件夹放在一起即可,例如 和 文件夹1、文件夹2 放在一起.
默认保留文件后缀名,如果不保留文件后缀名请删除 "%%~xj"
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询