标题: [文本处理] [已解决]批处理批量更改文件名中命令语法不正确? 哪错了? [打印本页]
作者: surup 时间: 2011-10-22 21:49 标题: [已解决]批处理批量更改文件名中命令语法不正确? 哪错了?
- @echo off
- set extension=.rar
- set /a sum=0
- for %%m in (*) do (
- if not "%%m"=="batchrename.bat" (
- ren %%m %%m%extension%
- set /a sum=sum+1
- )
- )
- echo 一共%sum%个文件被改名!
- set sum=
- set extension=
- pause
复制代码
因为出现命令语法不正确,故去掉@echo off 但结果还是显示
E:\TEST-2\案例21批量更改文件名>set extension=.rar
E:\TEST-2\案例21批量更改文件名>set /a sum=0
E:\TEST-2\案例21批量更改文件名>for %m in (*) do (if not "%m" == "batchrename.ba
" (
ren %m %m.rar
set /a sum=sum+1
) )
E:\TEST-2\案例21批量更改文件名>(if not "batchrename.bat" == "batchrename.bat" (
ren batchrename.bat batchrename.bat.rar
set /a sum=sum+1
) )
E:\TEST-2\案例21批量更改文件名>(if not "新建 Microsoft Office Word 文档" == "ba
chrename.bat" (
ren 新建 Microsoft Office Word 文档 新建 Microsoft Office Word 文档.rar
set /a sum=sum+1
) )
命令语法不正确。
E:\TEST-2\案例21批量更改文件名>(if not "新建 好压 7Z 压缩文件" == "batchrename.
at" (
ren 新建 好压 7Z 压缩文件 新建 好压 7Z 压缩文件.rar
set /a sum=sum+1
) )
命令语法不正确。
E:\TEST-2\案例21批量更改文件名>(if not "新建 好压 ZIP 压缩文件" == "batchrename
bat" (
ren 新建 好压 ZIP 压缩文件 新建 好压 ZIP 压缩文件.rar
set /a sum=sum+1
) )
命令语法不正确。
E:\TEST-2\案例21批量更改文件名>(if not "新建 好压 ZIP 压缩文件.zip" == "batchre
ame.bat" (
ren 新建 好压 ZIP 压缩文件.zip 新建 好压 ZIP 压缩文件.zip.rar
set /a sum=sum+1
) )
命令语法不正确。
E:\TEST-2\案例21批量更改文件名>(if not "新建 文本文档" == "batchrename.bat" (
ren 新建 文本文档 新建 文本文档.rar
set /a sum=sum+1
) )
命令语法不正确。
E:\TEST-2\案例21批量更改文件名>(if not "新建 文本文档.txt" == "batchrename.bat"
(
ren 新建 文本文档.txt 新建 文本文档.txt.rar
set /a sum=sum+1
) )
命令语法不正确。
E:\TEST-2\案例21批量更改文件名>echo 一共6个文件被改名!
一共6个文件被改名!
E:\TEST-2\案例21批量更改文件名>set sum=
E:\TEST-2\案例21批量更改文件名>set extension=
E:\TEST-2\案例21批量更改文件名>pause
请按任意键继续. . .
请问这个不正确 不正确在哪了?
作者: weichenxiehou 时间: 2011-10-22 21:54
有空格的文件名需要用双引号括起来,ren "%%m" "%%m%extension%"
作者: surup 时间: 2011-10-22 21:56
由bat-weichenxiehou指点 在ren出错 要考虑到文件名本身有空格 故ren "%%m" "%%m%extension%"
作者: surup 时间: 2011-10-22 23:00
- @echo off
- echo 开始更改文件名……
- set extension=.cpp
- set/a sum=0
- for %%m in (*) do (
- if /i not "%%~nxm"=="%~nx0" (
- if /i not "%%~xm"=="%extension%" (
- ren "%%m" "%%~nm%extension%"
- set /a sum=sum+1
- )
- )
- )
- echo 文件改名完毕,一共有%sum%个文件被改名!
- set sum=
- set extension=
复制代码
相比较而言, 这个比较好些!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |