找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24499|回复: 6

[文本处理] 批处理怎样批量修改文件名?

[复制链接]
发表于 2011-7-21 22:35:28 | 显示全部楼层 |阅读模式
我想把一个文件夹所有文件名中含有“-”的,改成" - ", 也就是在“-”前后加各加一个空格,请问怎样写,才能达到这个目的。

例如: 把文件名为“陈百强-偏偏喜欢你.mp3” ,改成“陈百强 - 偏偏喜欢你.mp3“。
发表于 2011-7-21 22:41:25 | 显示全部楼层
本帖最后由 mxxcgzxxx 于 2011-7-21 22:42 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%1 in ('dir /b *.*') do (
  4.        set "a=%%1"
  5.        set b=!a:-= - !
  6.        ren "!a!" "!b!"
  7.        )
复制代码
保存为a.bat放在那个目录下运行,不要运行两次哦,不然空格越加越多
发表于 2011-7-21 22:42:29 | 显示全部楼层
  1. @echo off
  2. for /f "delims=" %%a in ('dir /b *.mp3') do (
  3.     set "oldname=%%a"
  4.     setlocal enabledelayedexpansion
  5.     set "newname=!oldname:-= - !"
  6.     ren "%%a" "!newname!"
  7.     endlocal
  8. )
复制代码
发表于 2011-7-21 22:51:31 | 显示全部楼层
本帖最后由 tmplinshi 于 2011-7-21 23:13 编辑
  1. dir /b *-* | pren -v "s/-/ - /g"
复制代码
pren 下载地址: http://bathome.net/thread-13342-1-1.html
发表于 2011-7-22 00:12:03 | 显示全部楼层
2# mxxcgzxxx


建议不要使用数字作为for循环的控制变量
 楼主| 发表于 2011-7-22 00:42:08 | 显示全部楼层
谢谢各位的指点。问题搞定了。
发表于 2011-7-22 10:45:33 | 显示全部楼层
5# Batcher


哦,有什么缺点吗?主要是数字比字母好记顺序所以我爱数字呵, 是不是会和%1等冲突?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 17:08 , Processed in 0.018788 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表