|  | 
 
| 执行到 ren "%%~a" "!hcy:%renname1%=%renname2%!")复制代码@echo off
setlocal enabledelayedexpansion
rem 下面一行是原文件名中要替换的字符串
set renname1=_DownG.com
rem 下面是新文件名的字符串,要删除1,则留空
set renname2=
for /r . %%a in (*_DownG.com*) do (
set hcy=%%a
e:\tools\winrar.exe d "%%a" 下载站*.htm -r
echo !hcy!
ren "%%~a" "!hcy:%renname1%=%renname2%!")
pause
会语法错误~~~我那个找不出来。
 
 下面这个是我现在正在用的,只能对当前目录进行操作。我想对子目录也操作,于是有了上面的代码。
 测试的时候要有 形如"新建 WinRAR 压缩_DownG.com文件.rar"的文件,(文件名有空格,无空格都要能运行这个批处理)。复制代码@echo off
setlocal enabledelayedexpansion
rem 下面一行是原文件名中要替换的字符串
set renname1=_DownG.com
rem 下面是新文件名的字符串,要删除1,则留空
set renname2=
for /f "delims=" %%a in ('dir /b *_DownG.com*') do (
set hcy=%%a
e:\tools\winrar.exe d "%%a" 下载站*.htm -r
echo !hcy!
ren "%%~a" "!hcy:%renname1%=%renname2%!")
pause
希望高手帮我看看第一段代码的问题出在哪里。我估计是setlocal enabledelayedexpansion的问题,可是我不知道怎么修改。
 
 [ 本帖最后由 hdzz 于 2011-2-22 14:41 编辑 ]
 | 
 |