cmd批量编号目录下的文件

看了很多网上的相关内容,发现真的不是要下软件,就是回答的牛头不对马嘴,但是如果用c或者python这些编程语言的话又有点大材小用了,结合自己学到的一点cmd命令后完成了想要的效果。

setlocal enabledelayedexpansion
set /a b=0
for %%f in (*) do (
           set /a b+=1 
           ren "%%f" "!b!.jpg"
           echo !b!
)

解释一下,第一句是参考了文章https://www.orcode.com/question/183744_k0ac4c.html的内容,需要使用延迟环境变量扩展。
第二句设置一个变量b作为迭代,同时使用/a参数表示将右边的表达式解释为数字表达式,这一句有没有/a不影响后续操作
第三句是一个for语句,引用了一个变量f作为临时变量,变量f的值随for语句执行而改变,取的是当前目录下的所有文件,如果只遍历某一种类型的话需要自己再找找怎么改in后面括号里面的内容了,我不会
第四句是先将变量b的值加1,编号将从1开始
第五局开始执行重命名,第一个参数是for循环的临时变量f,在bat指令中要用两个%,和命令行的一个稍有区别,第二个参数的!b!.jpg,后面的.jpg不多赘述,改成想要的后缀名就行,主要还是!b!是第一句时提到的延迟环境变量,这是调用修改后的变量b的值,否则用%b%的话b的值会是进入for之前的值不变
第六句可删可留,主要是方便查看b的值设置的。

最后效果如图:


image.png

你可能感兴趣的:(cmd批量编号目录下的文件)