吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3748|回复: 7
收起左侧

[其他转载] 批量将文件名更名为其上级目录名(搬运)

[复制链接]
xiaomim123 发表于 2021-7-2 11:02
本帖最后由 xiaomim123 于 2021-7-2 19:16 编辑

再原创区发现大佬发的软件(https://www.52pojie.cn/thread-1466411-1-1.html)虽然可以实现我的需求,但是执行效率低了一些,而且也不是百分百符合我的需求。

于是百度了一下发现了有前辈用dos命令实现了批量将文件名更名为其上级目录名的功能,

原文为:https://www.cnblogs.com/xxcanghai/p/4584153.html

这里我搬运过来,希望大家喜欢。

功能:

要做一个程序来批量修改文件名,将一个文件夹下所有的文件的文件名,修改为其上级目录的名字注意不是修改更名为同一级目录名,而把自己的名字更名为自己所在的上一级目录的名字
使用注意事项
1,当文件夹内有多个文件,且扩展名相同,则会发生文件名冲突错误,会导致从当前文件夹内从第二文件起之后的文件都不更名请自行编辑文件过滤信息,以保证每个文件夹下被更名文件都是唯一的2,当文件名中含有特殊字符时。如! 或&符号等会导致更名失败,可以先执行以下命令

for /f "delims=" %i in ('dir /s /b /a:-d 【要处理文件的目录】\*.*') do @ren "%i" "a%~xi"



先把所有文件的文件名都更名为任意字符,然后再批量修改即可


批量将文件名更名为其上级目录名代码

@echo off
:start
setlocal enabledelayedexpansion
set isrun=n

echo 请把包含要处理的文件的[文件夹]拖动到此处,回车确定
set dir=n&set /p dir=
if "%dir:"=%"=="n" cls&goto start
cls&echo ====================================
:run
for /f "delims=" %%i in ('dir /s /b /a:-d %dir%\*.*') do (
    set full=%%~dpnxi
    set exten=%%~xi
    set path=%%~dpi
    set path=!path:~0,-1!
    for /f "delims=" %%j in ("!path!") do set path=%%~nj
    if /i "!isrun!"=="n" (
        echo ren "!full!" "!path!!exten!"
    ) else (
        ren "!full!" "!path!!exten!"
        echo 更名为:"!path!!exten!"
    )   
)
echo ====================================
if /i "%isrun%"=="n" (
    echo 即将执行以上操作,是否执行[Y/N]
    set isrun=n&set /p isrun=
    if /i "!isrun!"=="y" ( goto run ) else ( cls&goto start )
) else (
    echo.&echo 更名完成!
    echo 任意键返回&pause>nul&cls&goto start   
)

批处理代码,保存至bat文件中运行即可:

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
5rt5rt5rt + 1 + 1 非常感谢楼主 正有此需求苦求找不到方法 再请教一下 如何做到取上一级的上.
vethenc + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

时过境迁、 发表于 2021-7-2 11:37
牛逼克拉什
海市蜃楼丶 发表于 2021-7-2 12:16
angelo7930 发表于 2021-7-2 13:24
5rt5rt5rt 发表于 2021-7-2 14:12
本帖最后由 5rt5rt5rt 于 2021-7-2 14:23 编辑

非常感谢楼主 正有此需求苦求找不到方法 再请教一下 如何做到取上一级的上一级为重命名的名字
mingzial 发表于 2021-7-2 14:21
可以試下這個 QQ截图20210702142053.jpg
 楼主| xiaomim123 发表于 2021-7-2 19:14
5rt5rt5rt 发表于 2021-7-2 14:12
非常感谢楼主 正有此需求苦求找不到方法 再请教一下 如何做到取上一级的上一级为重命名的名字

这个,我也不懂啊,我这也是搬运的的代码啊
 楼主| xiaomim123 发表于 2021-7-2 19:16

感谢分享
 楼主| xiaomim123 发表于 2021-7-2 19:17
angelo7930 发表于 2021-7-2 13:24
不是VBS脚本啊,是BAT得嘛

感谢指正,已经调整分类为其它
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 13:10

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表