标题: [文件操作] 【已解决】求改错:为什么我的批量重命名把bat自身的名字也改了? [打印本页]
作者: battab 时间: 2014-1-14 21:58 标题: 【已解决】求改错:为什么我的批量重命名把bat自身的名字也改了?
本帖最后由 battab 于 2014-1-15 11:38 编辑
- @echo off&setlocal enabledelayedexpansion
- for /f %%i in ('dir /b/a-d') do (if not "%%i"=="%%~nx0" (
- set /a num+=1
- set name=%%i
- ren %%i 图片!num!!name:~-4!))
复制代码
把这个批处理放到要重命名的文件夹中运行,结果会连批处理自己的名也改了,不知道怎么改,求解?
就差一个%,真是差之毫厘,缪之千里啊!以后得多加注意点。
多谢各位的热心回复!
作者: terse 时间: 2014-1-14 22:51
if not "%%i"=="%%~nx0" 多打一个%吧
试 if not "%%i"=="%~nx0"
作者: Batcher 时间: 2014-1-15 10:00
建议不要把所有的代码都顶格写,要合理的使用缩进。- @echo off
- setlocal enabledelayedexpansion
- for /f %%i in ('dir /b /a-d') do (
- if not "%%i"=="%~nx0" (
- set /a num+=1
- set name=%%i
- ren %%i 图片!num!!name:~-4!
- )
- )
复制代码
作者: Batcher 时间: 2014-1-15 10:02
为了能够处理包含空格的文件名,可以改成这样:- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a-d') do (
- if not "%%i"=="%~nx0" (
- set /a num+=1
- set "name=%%i"
- ren "%%i" "图片!num!!name:~-4!"
- )
- )
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |