Board logo

标题: 删除文件名中指定的字符的批处理怎么做? [打印本页]

作者: wswj     时间: 2010-11-29 22:11    标题: 删除文件名中指定的字符的批处理怎么做?

文件名是以下样子:
"图形1.ps (C)_001_Cyan.TIF",想改成"图形1.ps_001_Cyan.TIF"
"图形1.ps (M)_001_Magenta.TIF"想改成"图形1.ps_001_Magenta.TIF"
"图形1.ps (Y)_001_Yellow.TIF"想改成"图形1.ps_001_Yellow.TIF"
"图形1.ps (K)_001_Black.TIF"想改成"图形1.ps_001_Black.TIF"

就是把文件名中的" (C)"," (M)"," (Y)"," (K)"删掉,共有四种,注意()前有一空格,这个批处理应该怎么写呢,老大们帮帮我!
作者: Hanyeguxing     时间: 2010-11-29 23:59
当前目录中:
@echo off&setlocal enabledelayedexpansion
for %%a in (*.TIF) do (
        set a=%%a
        for %%b in (C M Y K) do set "a=!a: (%%b)=!"
        ren "%%a" "!a!"
)
[ Last edited by Hanyeguxing on 2010-11-30 at 01:32 ]
作者: wswj     时间: 2010-11-30 01:12
为什么运行后文件名改为!a!
作者: Hanyeguxing     时间: 2010-11-30 01:32
少打了setlocal enabledelayedexpansion
作者: wswj     时间: 2010-11-30 21:59


  Quote:
Originally posted by Hanyeguxing at 2010-11-30 01:32:
少打了setlocal enabledelayedexpansion

非常感谢!对DOS命令不熟,昨天试了一晚上也没搞定,