风过欲相随 2017-10-20 08:40 采纳率: 0%
浏览 1509
已结题

求一批处理命令,将第三级文件夹里的各种文件重命名为第一级文件夹的名字

原来 000/111/222/333.txt
效果 000/111/222/111.txt
要保留后缀
以下为核心的代码 dir为根文件夹路径相当于上面的000
for /f "delims=" %%i in ('dir /ad /b %dir%\') do (
set path=%%~dpi
set path=!path:~0,-1!
for /f "delims=" %%j in ("!path!") do (
set path1=%%~dpj
set path1=!path1:~0,-1!
for /f "delims=" %%z in ("!path1!") do (
set full=%%~dpnxz
set exten=%%~xz
if /i "!isrun!"=="n" (
echo ren "!full!" "!path!!exten!"
) else (
ren "!full!" "!path!!exten!"
echo 更名为:"!path!!exten!"
)
)
)
)
道理我都懂可是程序调不通

  • 写回答

2条回答 默认 最新

  • 实力不会debug 2017-10-20 08:58
    关注

    思路:创建一个对象保存一级文件夹的名字,打开二级文件夹,循环遍历文件,判断文件夹和文件。问题:各种文件,重名问题。

    评论

报告相同问题?