分享

如何批处理改文件名

 火星飘雪 2022-12-15 发布于上海

内容导航:
  • 实例分享:bat批处理之批量更改、删除文件夹下文档名称关键字
  • Bat批处理:求大神支招,批量修改文件夹内指定文件的名称,根据文件夹的名字来替换某一个文件的文件名
  • 求bat批量删除文件夹名中的特定字符和后面的字符
  • bat批处理批量修改指定文件夹名为指定名称,并move文件到指定目录下?
  • 一、实例分享:bat批处理之批量更改、删除文件夹下文档名称关键字

    工作中我们偶尔会遇到需要对大量文档进行批量更改名字,或添加关键字,但是一个一个的去更改,少数文档可不讲什么工作效率,但如果该文件夹下存在大量文档,就是一个很麻烦的事儿了。今天给大家分享一下,如何利用bat批处理快速批量替换、更改文件夹下所有需要更改的文档名称关键字。


    实例分享:bat批处理之批量更改、删除文件夹下文档名称关键字



    BAT批处理制作

    第一步:在需要更改、删除文档名称关键字的文件夹下新建一个txt文本文档。


    第二步:复制以下代码并粘贴入txt文本文档


    @echo off


    title 文件名字符替换


    mode con cols=60 lines=20


    ::文件要是重名,会提示错误。


    setlocal EnableDelayedExpansion & color 0a


    :1


    set a=


    set b=


    set c=


    cls&echo.


    set /p a= 请输入要被替换的字符:


    cls&echo.


    set /p b= 请输入替换“!a!”的字符,若要去掉“!a!”,请直接回车:


    for /f "delims=" %%a in ('dir /b /a /a-d') do (


    if "%%~fa" neq "%~0" (


    set xz=%%~na


    ren "%%~fa" "!xz:%a%=%b%!%%~xa" ))


    cls&echo.&set /p c= 操作完成,输入 0 返回,输入其它任意字符退出


    if "!c!"=="0" (goto 1) else (exit)


    GOTO :EOF


    第三步:将文本文档另存为.bat扩展名的文档。如下图:


    实例分享:bat批处理之批量更改、删除文件夹下文档名称关键字


    实例演示

    批量替换演示文件夹下的word文档中关键字“副本”或删除“副本”


    实例分享:bat批处理之批量更改、删除文件夹下文档名称关键字



    特别分享

    有时候我们需要增加关键字怎么处理?个人思路,从文档后缀名下手,所有文档后缀名都有一个点“.”,我们可以设置扩展名为显示,即可对扩展名进行替换。比如.doc、.txt,我们思路为替换“.”为“副本.”。最终输出效果即“副本.doc、副本.txt”。下面给大家分享一下怎样显示扩展名,即文档后缀。


    第一种:适用于windows7及以上系统。打开计算机→工具→文件夹选项→查看→去掉隐藏文件扩展名选项的√。


    实例分享:bat批处理之批量更改、删除文件夹下文档名称关键字


    第二种:通用方式设置文档扩展名显示,适用于所有windows系统。


    开始菜单→控制面板→类别选择大图标(小图标也可以)→文件夹选项→查看→去掉隐藏文件扩展名的√。


    实例分享:bat批处理之批量更改、删除文件夹下文档名称关键字



    小结

    bat批处理设置文档名称批量更改关键字,无论是增加还是删除,都可以根据适当的思路完成此工作。如果对你有所帮助,感谢点赞。关注获取更多更新内容,获取源代码,敬请私信回复“0204代码”!欢迎大家友好评论交流。


    二、Bat批处理:求大神支招,批量修改文件夹内指定文件的名称,根据文件夹的名字来替换某一个文件的文件名

    跟文件夹放一起运行
    @echooff
    rem批量将指定扩展名/后缀的文件重命名成该文件所在文件夹/目录的名称
    set#=Anyquestion&set$=Q&set/az=0x53b7e0b4
    title%#%+%$%%$%%z%
    cd/d"%~dp0"
    for/f"delims="%%ain('dir/ad/b')do(
    for/f"delims="%%bin('dir/a-d/b"%%a\*.max"')do(
    echo;"%%a\%%~nxb"--^>"%%~nxa%%~xb"
    ren"%%a\%%~nxb""%%~nxa%%~xb"
    )
    )
    echo;%#%+%$%%$%%z%
    pause
    exit

    三、求bat批量删除文件夹名中的特定字符和后面的字符

    @echooff&title批量删除特定字符By依梦琴瑶
    cd/d%~dp0

    ::脚本放在要处理的主文件夹内执行即可

    call:Initialize
    for/f"delims="%%ain('dir/ad/b*相册_*')do(
    call:Operation"%%~a"
    )
    call:Revise"%Cache%"
    echo,&echo完成操作,请按任意键退出!
    pause>nul
    call:Donate
    exit

    :Operation
    set"Dn=%~nx1"
    set"Dn=%Dn:相册_=|%"
    for/f"tokens=1delims=|"%%iin("%Dn%")do(
    ifexist"%%~i"(
    call:Numbering"%~1""%%~i"
    )else(
    ifexist"%%~i1"(
    call:Numbering"%~1""%%~i"
    )else(
    echo重新命名"%~nx1"--^>^>"%%~i"
    ren"%~1""%%~i"
    )
    )
    )
    goto:eof

    :Numbering
    set"Num=1"
    :Loop
    set"N=%~2%Num%"
    ifexist"%N%"(
    set/aNum+=1
    gotoLoop
    )
    echo重新命名"%~nx1"--^>^>"%N%"
    ren"%~1""%N%"
    set/aNum+=1
    (echo%Num%)>"%Cache%\%~2"
    goto:eof

    :Revise
    for%%iin("%~1\*")do(
    set/pLn=<"%%~i"
    ifexist"%%~nxi"(
    call:Reren"%%~nxi""%%~nxi%%Ln%%"
    )
    )
    rd/s/q"%~1"
    goto:eof

    :Reren
    echo修正命名"%~1"--^>^>"%~2"
    ren"%~1""%~2"
    goto:eof

    :Initialize
    set"Cache=%tmp%\Wait_For_Correction"
    ifexist"%Cache%"rd/s/q"%Cache%">nul2>nul
    md"%Cache%">nul2>nul
    goto:eof

    :Donate
    setS0=fGRH
    setS1=.:ailnhpst/
    setS2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%
    setS3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%
    start"""%S2%%S3%%S1:~10,1%%S0%"
    exit

    四、bat批处理批量修改指定文件夹名为指定名称,并move文件到指定目录下?

    是将文件夹改名,移动后,再将文件移动进修改过后的文件夹?
    要移动的文件原本不在要处理的文件夹内吧 

      本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
      转藏 分享 献花(0

      0条评论

      发表

      请遵守用户 评论公约

      类似文章 更多