DOS中批量添加后缀的方式改名
DOS中批量添加后缀的方式改名
朋友修手机的,给客户倒资料,结果2000多张照片全变成了黑户(没有后缀,电脑不识别)
想着给他写个批处理,一键修改,觉得很简单,但是搞了半天不行,记录一下,
一开始写的代码
@echo off
set name = .jpg
for %%v in (*) do (
if not %%v == ren.bat (
ren “%%v” “%%v%name%”
)
)
pause
注:ren.bat为在这个文件夹中创建的批处理文件,用于一键改名,啥名字随意,但是要在以下代码里对应的改变
1,设置一个后缀名为 .jpg
2,万年不变的for循环嵌套if
3,判断变量%%v 等于ren.bat,
一切看上去那么的完美。一运行,系统压根不鸟你,各种报错参数不支持啥的,
然后就去百度搜索相关代码
附上最后能完美运行的代码,代码很简单但是琢磨了很久,对这个有点感悟,发出来共享
完美运行的代码
@echo off
set name=.txt
for %%v in (*) do (
if not “%%v”==“ren.bat” (ren “%%v” “%%v%name%”)
)
pause
需要以下注意的地方
1,set设置变量,能不要空格的就不要加空格,有时候想着能还看点,补上空格,多此一举
2,if not 后面的%%v ren.bat 需要加双引号。因为怕文件名有空格,
3,if语句尽量写在同一行,
总结以下,这个空格真的是很容易出问题,