批处理系列(11) - 去除指定字符之前或之后的文件名

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

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

@echo off
setlocal enabledelayedexpansion
title 去除指定字符之前或之后的文件名  by:小可([email protected])
@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:小可([email protected])
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许可证)

原文地址:https://www.cnblogs.com/daxiang/p/8572732.html

时间: 2024-10-12 05:02:10

批处理系列(11) - 去除指定字符之前或之后的文件名的相关文章

批处理系列(14) - 路径/时间/字符切分等DEMO操作

结合本系列文章第一篇,看本文. 本篇熟悉操作文件路径.时间,温习字符切分. 路径 @echo off @REM @Author: [email protected] :GTCONTINUE @echo 正在运行的这个批处理: @echo 完全路径[%%0]:%0 @echo 去掉引号[%%~0]:%~0 @echo 所在分区[%%~d0]:%~d0 @echo 所处路径[%%~p0]:%~p0 @echo 文件名[%%~n0]:%~n0 @echo 扩展名[%%~x0]:%~x0 @echo.

C# Trim方法去除字符串两端的指定字符

var str= ",2,3,4,6,7,"; var str2 = str.Trim(new char[] { ',' }); //去除字符串str两端的','字符. //则str2 为:"2,3,4,6,7" C# Trim方法去除字符串两端的指定字符,布布扣,bubuko.com

JS trim去除字符串收尾指定字符

String.prototype.trim = function (char, type) { if (char) { if (type == 'left') { return this.replace(new RegExp('^\\'+char+'+', 'g'), ''); } else if (type == 'right') { return this.replace(new RegExp('\\'+char+'+$', 'g'), ''); } return this.replace(

【函数】Oracle函数系列(1)--字符函数

[函数]Oracle函数系列(1)--字符函数 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 常见字符函数(lower.upper.initcap.concat.substr.length.intr.lpad.rpad.trim.chr.ascii.replace.translate)的使用 ② 判断字符串中是否含有汉字 ③ substr和instr的联合使用 ④

Skype For Business 2015实战系列11:创建并发布拓扑

Skype For Business 2015实战系列11:创建并发布拓扑 Skype For Business Server安装前需要先定义好拓扑,因为我们要在拓扑中的每台服务器上安装 Skype for Business Server 系统,必须首先创建和发布一个拓扑.发布拓扑时,拓扑信息会载入中央管理存储数据库.如果这是 Enterprise Edition 池,您将在初次发布新拓扑时创建中央管理存储数据库.如果是 Standard Edition,则需要运行部署向导中的"准备第一个 St

删除最后结尾的指定字符后的字符

#region 删除最后结尾的指定字符后的字符 2 /// <summary> 3 /// 删除最后结尾的指定字符后的字符 4 /// </summary> 5 public static string DelLastChar(string str, string strchar) 6 { 7 if (string.IsNullOrEmpty(str)) 8 return ""; 9 if (str.LastIndexOf(strchar) >= 0 &a

*字符串-01. 在字符串中查找指定字符

1 /* 2 * Main.c 3 * D1-字符串-01. 在字符串中查找指定字符 4 * Created on: 2014年8月18日 5 * Author: Boomkeeper 6 *****部分通过****** 7 */ 8 9 #include <stdio.h> 10 11 int mysearch(char ch, const char str[], int length) { 12 13 int j, ret = -1; 14 15 for (j = 0; j < le

Spring基础系列11 -- 自动创建Proxy

Spring基础系列11 -- 自动创建Proxy 转载:http://www.cnblogs.com/leiOOlei/p/3557964.html 在<Spring3系列9- Spring AOP——Advice>和<Spring3系列10- Spring AOP——Pointcut,Advisor拦截指定方法>中的例子中,在配置文件中,你必须手动为每一个需要AOP的bean创建Proxy bean(ProxyFactoryBean). 这不是一个好的体验,例如,你想让DAO层

删除指定字符

题目描述 从键盘输入一个字符串给str和一个字符给c,删除str中的所有字符c并输出删除后的字符串str. 输入要求 第一行是一个字符串: 第二行是一个字符. 输出要求 删除指定字符后的字符串. 假如输入 sdf$$$sdf$$ $ 应当输出 sdfsdf 1 import java.util.Scanner; 2 3 4 public class Main 5 { 6 public static void main(String args[]) 7 { 8 Scanner scan=new S