[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]BAT如何批量删除文件名中位置相同内容不相同的一部分字符

我有一批图片 文件名是这样的     001_byxm314_0003
                                                    002_byxm314_0001
                                                    003_byxm314_0012
                                                    004_byxm314_0004
                                                    ……

总结一下 就是  “  ABC_相同字符_DEFG  ”
其中: ABC是 从001顺序排列的数字   
            DEFG  也是数字   但是没有顺序

我现在想去掉文件名中 "  ABC_  "   这四个位置的字符  请问有什么批量处理的办法吗??

谢谢~~~


或者干脆就是一个任意的文件名 ABCDEFGHIJK  我想把 其中的 ABCD 删掉 其他的EFGHIJK 都保持不变  有高手可以帮忙吗 谢谢了~~
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 5# m_anio


这几年时间如果踏踏实实学习BAT或者VBS的话,任何重命名问题都不用依靠其它软件。

TOP

经过多年的积累 发现一个很好用的软件 叫Bulk Rename Utility 可以解决所有重命名问题

TOP

呵呵,重命名,正是bat的拿手好戏。。
重命名带数字的文件时直接用for遍历文件好像存在bug建议最好使用dir+for
  1. @echo off&Setlocal EnableDelayedExpansion
  2. for /f "delims=" %%a in ('dir/b *.jpg') do (
  3.    set "name=%%a"
  4.    ren "%%a" "!name:~4!"
  5. )
  6. pause
复制代码
如果文件名第4位都是_下划线的话,也可以不用开启延迟变量。
  1. @echo off
  2. for /f "tokens=1* delims=_" %%a in ('dir/b *.jpg') do (
  3.    ren "%%a_%%b" "%%b"
  4. )
  5. pause
复制代码

[ 本帖最后由 随风 于 2008-11-20 15:59 编辑 ]
1

评分人数

技术问题请到论坛发帖求助!

TOP

随手写的,未测试。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in (*.jpg) do (
  4.   set "newName=%%a"
  5.   ren "%%a" "!newName:~4!"
  6. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

……
没有人能帮我解决吗~~  请问各位 是这个问题是很白痴还是很不好解决呢???
我有好多这种图片 我现在只能一个一个的删除 很麻烦的~
谁能帮帮忙啊 谢谢了~~

TOP

返回列表