关于批处理的学习之六 常用实例 上.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于批处理的学习之六 常用实例 上

关于批处理的学习之六 常用实例 上 【转】关于批处理的学习之六[常用实例上]2011-05-01 19:44 6常用实例上 6.1批量修改文件名 在第4.2.2节中,我们已经会使用循环命令对大量文件改名进行批量处理。但总结一下,该批处理并不是很健壮。判断一个程序的好坏,往往不是站在程序员的角度,而从用户的角度出发。比如:在用户使用它的时候,如果输入了不正确的路径格式怎么办?如果输入了含有非法符号的前缀怎么办?输入的扩展名也有问题怎么办?改完名后看不到是否执行成功的反馈信息,等等。带着这些想法,我们将原程序再次修改一下。 :批量修改文件名.bat: @echo off title批量修改文件名 setlocal EnableDelayedExpansion :启用延迟变量扩充 :GetPath set zpath=%CD% :对变量进行初始化,防止用户不输入而直接跳过。其中%CD%表示当前路径 set/p zpath=请输入目标文件所在的路径: if%zpath:~0,1%%zpath:~-1%==set zpath=%zpath:~1,-1% :检查变量zpath的第一个和最后一个字符是否为,是的话就去掉 if not exist%zpath%goto:GetPath :如果zpath值的路径不存在,就得跳转回去,要求重新输入 :GetPrefix set prefix=未命名 set/p prefix=请输入文件名前缀(不能包含以下字符\/:*?|): for/fdelims=\/:*?|tokens=2%%i in(z%prefix%z)do goto:GetPrefix :这里对变量perfix进行检查,发现有非法符号便跳转到:GetPrefix :事实上,这里并没有对双引号进行检测,因为双引号无法在此被转义为可用的分隔符 :即使是在这个程序里,不正确地使用双引号也会引起程序异常而退出。 :因此,想把它做的非常人性化并不是一件容易的事情 :GetExt set ext=.* set/p ext=请输入文件的扩展名(不输入则表示所有类型): if not%ext:~0,1%==.set ext=.%ext% :检查变量ext的第一个是否为句点.,不是的话就加上 :建议这里对变量ext也检查一下,发现有除*外的非法符号便跳转到:GetExt set answer=N echo. echo您试图将%zpath%\里的所有%ext%类型的文件以%prefix%为前缀名进行批量改名,是否继续? set/p answer=继续请输入Y,输入其它键放弃. if%answer%==Ygoto:ReadyToRename if%answer%==ygoto:ReadyToRename echo放弃文件改名,按任意键退出.goto:PauseThenQuit :ReadyToRename set/a num=0 echo. if%ext%==.*( for%%i in(%zpath%\*%ext%)do( set/a num+=1 ren%%i%prefix%!num!%%~xi||echo文件%%i改名失败set/a num-=1 ) )else( for%%i in(%zpath%\*%ext%)do( set/a num+=1 ren%%i%prefix%!num!%ext%||echo文件%%i改名失败set/a num-=1 ) ) if%num%==0 echo%zpath%\里未发现任何文件。按任意键退出.goto:PauseThenQuit echo文件改名完成,按任意键退出. :PauseThenQuit pause nul : 图6-1批量改文件名.bat的运行结果 相对第4.2.2节里的批量修改文件的批处理来说,已经全面多了。不过这仍然有许多地方需要进一步完善,比如,输出的文件名编号可以用001、002、003这样的方式来表达,以便浏览器在以文件名排列文件时能按我们或需要的顺序进行排列。[创作日期:2007-12-13] ==朴实的分割线== 6.2批量备份进程映像列表以及注册表自启动项 什么是备份;为什么要备份;怎么去备份;备份些什么,说起来我们可能会更关心这些问题。 什么是备份:将某事物复制出额外一份完全一样的事物,并妥善保存起来的过程; 为啥要备份:当原事物出现异常或无法使用的时候,取出复制品并代替原来无法使用的事物; 怎么去备份:复制,与原事物完全一样地去复制,然后保存到安全的地方; 备份些什么:系统、文档、数据库、工程、记录、进度等等。 不过,这些都不是本文的主旨。 本节的写作起因是从《利用Windows系统自带命令手工搞定病毒》这篇文章开始的。这篇文章的主旨是:用tasklist备份好进程列表→通过fc比较

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档