zoukankan      html  css  js  c++  java
  • 批处理系列(11)

    本篇熟悉"tokens=1-3 delims=.-"结合操作

    需要提前调整截取范围分割字符过滤文件类型文件原名新命名

    @echo off
    setlocal enabledelayedexpansion
    title 去除指定字符之前或之后的文件名  by:小可(xianghongai@gmail.com)
    @echo 需要提前调整截取范围,分割字符,过滤文件,调整文件前后名
    rem tokens=有时表示提取全部。
    rem tokens=m表示提取第m列。
    rem tokens=m,n表示提取第m列和第n列。
    rem tokens=m-n表示提取第m列至第n列。
    rem tokens=*表示删除每行前面的空格。忽略行首的所有空格。
    rem tokens=m*提取第m列以后的所有字符,星号表示剩余的字符。
    rem tokens=m,*提取第m列以后的所有字符,星号表示剩余的字符。
    rem delims指明点号、减号、空格为分割符,默认是空格和tab为分割符,delims==及delims=表示不要分割符
    for /f "tokens=1-3 delims=.-" %%i in ('dir /b /a-d *.png') do (ren "%%i-%%j.%%k" "%%i.%%k")
    pause >nul
    exit
    

    作用到子目录

    @echo off
    setlocal enabledelayedexpansion
    title 去除指定字符之前或之后的文件名  by:小可(xianghongai@gmail.com)
    rem 需要提前调整截取范围,分割字符,过滤文件,文件原名、新命名
    
    cd /d %~dp0
    
    @echo 将 [abc_abc-中文提示.png] 重命名为 [abc_abc.png]
    @echo --------------------------------------------------
    @echo 影响当前目录、子目录带 - 字符的 png 文件!谨慎操作
    @echo 建议只在单独的新建目录操作!
    @echo --------------------------------------------------
    @echo 按Enter键继续,退出直接关闭窗口
    pause >nul
    
    for /f "usebackq tokens=1-3 delims=.-" %%a in (`dir /b /a-d *.png`) do (ren "%%a-%%b.%%c" "%%a.%%c")
    @echo ...
    @echo ================================================== 当前目录处理完毕
    for /f "usebackq delims=" %%i in (`dir /ad /b /s^|sort /r`) do (
      for /f "usebackq tokens=1-3 delims=.-" %%a in (`dir /a-d /b "%%i*.png"`) do (
        ren "%%i\%%a-%%b.%%c" "%%a.%%c") )
    @echo ...
    @echo ================================================== 所有子目录处理完毕
    @echo 按Enter键退出
    pause >nul
    exit
    

    转载保留原文地址和作者名,只为错误勘正和信息补充。
    版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)

  • 相关阅读:
    背包解法
    第十六周周总结
    软件工程个人课程总结
    学期课后个人总结
    spring事务
    梦断代码03
    团队冲刺的第二十四天
    第十五周周总结
    百度输入法评价
    找到水王
  • 原文地址:https://www.cnblogs.com/daxiang/p/8572732.html
Copyright © 2011-2022 走看看