[持续更新]批处理重命名系列案例 脚本编程

[持续更新]批处理重命名系列案例

批处理用于文本/文件的操作确实非常简单有力!不用多么复杂的代码,仅一个记事本加上简洁的代码即可搞定大部分文本/文件的操作,下面记录下我用过的一些代码,基本都是我在百度回答知友的一些代码,既给涧客们参考,也让起到备忘的作用。。。。(本文是系列博文,将持续更新,敬请关注!) 案例一、 百度原址 知友问: 想把一个文件夹里的全部文件都命名成001,002……这样按顺序,什么顺序无所谓,只要名字都变了就行,谁帮忙写个 我给出的代码: 简单解释: 1.使用for /r 遍历当前目录(%~dp0)下所有文件,效率比for /f + dir /s /b 高; 2.if not语句用于排除bat文件本身,全路径是%0,拓展到bat文件名:%~nx0; 3.利用变量1000开始累加,每次利用!var:~-3!取得后三位,即依次为001、002、003... Ps:var=1000,那么此脚本最多重命名999个文件,再多将出现覆盖错误,如何修改?请涧客思考,最好能在评论中留下您的代码,呵呵!(比较简单,大虾请勿拍砖!) 案例二、 百度原址 知友问:   “比如,我有一个文件夹里的文件都是X1,、X2…X51,我有个的文件名字是X15.ass,用完以后变成 Soul Eater 14 .ass代码如下: 如何才能让顺序变正确,顺便说一下,最后一个51变成了1. 我给出的代码: 简单解释:因为a的值,被初始化为0,所以第一个文件就是0,第二个是1,那么第15个就是14了。。。代码调换了下顺序,先给a+1,让重命名时a的值为1即可。 Ps:此处使用for+dir 的方式,效率虽然会低一点,但是出错率也降低了,容易懂!当然一样可以用for /r。
阅读全文
[转]批处理For语句从入门到精通 脚本编程

[转]批处理For语句从入门到精通

申明:本资料转自批处理之家,版权归作者:namejm 所有,如需转载请注明。 原帖地址:http://bathome.net/thread-2189-1-1.html 此文是俺学习批处理的启蒙教程,作者非常详细的分析了批处理最核心的for命令以及变量延迟,对于要学习批处理的童鞋非常值得仔细研读。 一 前言 二 for语句的基本用法 三 for /f 含变量延迟 四 for /r 五 for /d 六 for /l 一、前言 ........... (略,请下载附件继续阅读) 后记: 当Windows为我们打开了五彩缤纷的图形窗口的时候 DOS命中注定会陨落 CMD毫无悬念将萎缩 批处理逐渐趋向无声无息 而powershell的到来,无疑会让更多的人忘记批处理 这是一门即将失传的技艺 这是一块行将就木的领域 然而,命令行工具仍然具有批量处理一切的巨大威力 字符界面仍然是高效操作的代名词 曾为批处理的方便灵活而击节赞赏 曾被批处理的简洁快速深深折服 一直以来,总想为批处理的推广做些什么 于是,从在CN-DOS里尽职尽责地为大家解答疑问,到创办了自己的论坛专职答疑解惑,再到无怨无悔地码字写教程,一步步走来,喜怒哀愁,五味杂陈 直至如今辞去站长等一切管理职务,逐渐淡出批处理圈子 梦依旧在,只是,心有余而力渐有不足 这篇从入门到精通的教学帖,从2008年10月开贴到现在,不知不觉拖拖拉拉竟然过去了两年有余 每每看到跟帖的会员在问什么时候有更新 心中总有一丝愧疚 今天,终于抽空对它做个了断 只是,年年岁岁花相似,岁岁年年人不同 繁杂的事务使我已不再有当初的心境 for /l 部分总有虎头蛇尾的感觉 只能向各位说声抱歉了 在我彻底淡出批处理圈子之前 我只能尽我所能地向各位倾我所学了 最后,我希望论坛的管理人员能按照顶楼的管理提示经常为这个帖子抽抽水 或者是为了大家阅览的方便而永久锁定这个帖子 为避免资料遗失,已将原作者整理的3种档案打包:  
阅读全文