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

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

我想把一个文件夹所有文件名中含有“-”的,改成" - ", 也就是在“-”前后加各加一个空格,请问怎样写,才能达到这个目的。

例如: 把文件名为“陈百强-偏偏喜欢你.mp3” ,改成“陈百强 - 偏偏喜欢你.mp3“。

本帖最后由 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放在那个目录下运行,不要运行两次哦,不然空格越加越多
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

  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. )
复制代码

TOP

本帖最后由 tmplinshi 于 2011-7-21 23:13 编辑
  1. dir /b *-* | pren -v "s/-/ - /g"
复制代码
pren 下载地址: http://bathome.net/thread-13342-1-1.html

TOP

2# mxxcgzxxx


建议不要使用数字作为for循环的控制变量
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢各位的指点。问题搞定了。

TOP

5# Batcher


哦,有什么缺点吗?主要是数字比字母好记顺序所以我爱数字呵, 是不是会和%1等冲突?
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

返回列表