标题: [文件操作] [已解决]BAT如何批量删除文件名中位置相同内容不相同的一部分字符 [打印本页]
作者: m_anio 时间: 2008-11-19 15:19 标题: [已解决]BAT如何批量删除文件名中位置相同内容不相同的一部分字符
我有一批图片 文件名是这样的 001_byxm314_0003
002_byxm314_0001
003_byxm314_0012
004_byxm314_0004
……
总结一下 就是 “ ABC_相同字符_DEFG ”
其中: ABC是 从001顺序排列的数字
DEFG 也是数字 但是没有顺序
我现在想去掉文件名中 " ABC_ " 这四个位置的字符 请问有什么批量处理的办法吗??
谢谢~~~
或者干脆就是一个任意的文件名 ABCDEFGHIJK 我想把 其中的 ABCD 删掉 其他的EFGHIJK 都保持不变 有高手可以帮忙吗 谢谢了~~
作者: m_anio 时间: 2008-11-20 11:34
……
没有人能帮我解决吗~~ 请问各位 是这个问题是很白痴还是很不好解决呢???
我有好多这种图片 我现在只能一个一个的删除 很麻烦的~
谁能帮帮忙啊 谢谢了~~
作者: Batcher 时间: 2008-11-20 11:37
随手写的,未测试。- @echo off
- setlocal enabledelayedexpansion
- for %%a in (*.jpg) do (
- set "newName=%%a"
- ren "%%a" "!newName:~4!"
- )
复制代码
作者: 随风 时间: 2008-11-20 15:56
呵呵,重命名,正是bat的拿手好戏。。
重命名带数字的文件时直接用for遍历文件好像存在bug建议最好使用dir+for
- @echo off&Setlocal EnableDelayedExpansion
- for /f "delims=" %%a in ('dir/b *.jpg') do (
- set "name=%%a"
- ren "%%a" "!name:~4!"
- )
- pause
复制代码
如果文件名第4位都是_下划线的话,也可以不用开启延迟变量。- @echo off
- for /f "tokens=1* delims=_" %%a in ('dir/b *.jpg') do (
- ren "%%a_%%b" "%%b"
- )
- pause
复制代码
[ 本帖最后由 随风 于 2008-11-20 15:59 编辑 ]
作者: m_anio 时间: 2012-11-3 11:11
经过多年的积累 发现一个很好用的软件 叫Bulk Rename Utility 可以解决所有重命名问题
作者: BAT-VBS 时间: 2012-11-3 18:26
回复 5# m_anio
这几年时间如果踏踏实实学习BAT或者VBS的话,任何重命名问题都不用依靠其它软件。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |