bat实现命令行全盘遍历搜索字符串?

  打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo  批处理与联机处理命令将显示当前回显设置。
  在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定的文件中。
  注释命令,类似于在C语言中的/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读
  和你自己日后修改。
  :: 也具有rem的功能
  但::和rem还是有区别的,当关闭回显时,rem和::后的内容都不会显示。  顺序批处理但是当打开回显时,rem和rem
  后的内容会显示出来,然而::后的内容仍然不会显示。
  暂停命令。运行 Pause 命令时,将显示下面的消息:
  echo 请插入另一张光盘...
  在这个例子中,驱动器 G 中磁盘上的所有文件均复制到d:\back中。显示的注释提示您将另一张光盘
  盘放入驱动器 G 时,pause 命令会使程序挂起,以便您更换光盘,然后按任意键继续处理。
  从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call  批处理功能界面命令接受用作调用目标的
  标签。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。
  指定要调用的批处理程序的位置和名称。
  调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
  MIN 开始时窗口最小化
  HIGH 在 HIGH 优先级类别开始应用程序
  WAIT 启动应用程序并等候它结束
  parameters 这些为传送到命令/程序的参数
  执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序  常见批处理案例终止就返回命令提示。如果在命令
  脚本内执行,该新行为则不会发生。
  跳转命令。程序指针跳转到指定的标签,从标签后的第一条命令开始继续执行批处理程序。
  语法:goto label (label是参数,指定所要转向的批处理程序中的行。)
  if {%2}=={} goto noparms(如果这里的if、%1.%2你不明白的话,先跳过去,后面会有详细的解释
  标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:  选择批处理用来表示这个字母是标签,goto
  命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。
  显示、设置或删除变量。
  显示变量:set 或 set s 前者显示批处理当前已定义的所有变量及其值,后者显示所有以s开头的变量及值。
  设置变量:set aa=abcd 此句命令便可向变量aa赋值abcd。如果变量aa已被定义,则aa的值被修改为abcd;若aa尚未定义,则此句命令即可定义新的变量aa,同时为变量aa赋予初始值abcd。
  删除变量:set aa= 此句命令即可删除变量aa。若变量aa已被定义,则删除变量aa;若aa尚未定义,则此句命令无实质意义。
  需要说明的是,批处理中的变量是不区分类型的,不需要像C语言中的变量那样还要区分int、float、char等。比如执行set aa=345后,变量aa的值既可以被视为数字345,也可以被视为字符串345。
  set命令具有扩展功能,如用作交互输入、字符串处理、数值计算等,属于高级命令范畴。

  cd 显示当前目录名或改变当前目录。
  rd 删除一个目录。
  dir 显示目录中的文件和子目录列表。
  tree 以图形显示驱动器或路径的文件夹结构。
  path 为可执行文件显示或设置一个搜索路径。
  copy 复制文件和目录树。
  type 显示文本文件的内容。
  copy 将一份或多份文件复制到另一个位置。
  del 删除一个或数个文件。
  ren 重命名文件。
  attrib 显示或更改文件属性。
  find 搜索字符串。
  fc 比较两个文件或两个文件集并显示它们之间的不同
  ping 进行网络连接测试、名称解析
  net 网络命令集及用户管理
  msg 给用户发送消息
  arp 显示、修改局域网的IP地址-物理地址映射列表
  at 安排在特定日期和时间运行命令和程序
  shutdown立即或定时关机或重启
  sc 系统服务设置与控制
  reg 注册表控制台工具
  powercfg控制系统上的电源设置
  对于以上列出的所有命令,在cmd中输入命令+/?即可查看该命令的帮助信息。如find /?

  批处理里面的数值计算功能较弱,只能够进行整型计算,忽略浮点数的小数部分;同时数值计算的范围也受限于系统位数,对于目前较为常见的32位机来说,数值计算能处理的数值范围为0xx7FFFFFFFh,即-~+。
  数值计算需要使用set命令,具体格式为“set /a expression”。其中,expression代表计算表达式,计算表达式跟C语言里面的表达式基本上完全一致。set支持的运算符也跟C语言里面的一样,只是没有了増一减一。set支持的运算符及优先级排序如下:
  ! ~ - - 一元运算符(逻辑非、按位非、取负)
  * / % - 算数运算符(乘、除得商、除得余数,即取余)
  + - - 算数运算符(加、减)
  & - 按位“与”
  ^ - 按位“异”
  | - 按位“或”
  , - 表达式分隔符(set可一次处理多个表达式)
  我们知道,批处理中取变量的值是需要用%或者!的,而在set /a 中,直接用变量名称即可取得变量的值。另外,set支持八进制(数字前缀0)、十进制(数字无前缀)和十六进制(数字前缀0x),且支持不同进制之间的计算,如set /a a=123+,计算及显示结果为十进制。

  学习有关批处理的一些比较琐碎、但又比较有价值的一些知识,运用这些知识后,才有条件更好的实现的批处理的功能,并能使批处理摆脱黑白世界而显得更加多姿多彩。
  所谓“环境变量”,实际上就是C语言里面的“变量”的意思。批处理的变量可以分为两类,由系统定义的系统变量和由用户根据需要自定义的用户变量。
  【 1.系统变量 】
  批处理的一些变量是由操作系统事先定义好的,可以适用于任何批处理,我们称这些特殊的变量为“系统变量”。系统变量有很多个,包括硬件类、操作系统类、文件路径类、系统时间类等。要查看所有的系统变量,请新打开一个cmd窗口,输入set回车即可。对几个比较常用的变量解释如下:
  ComputerName 计算机名,即右键 我的电脑--属性--计算机名 选项卡中的“完整的计算机名称”
  Path 可执行文件默认搜索路径。这个东东非常重要!待会儿单独讲解…
  Prompt 个性化设置cmd提示符的必备武器!不过,我没怎么用过~
  Temp、Tmp 文件、程序等可使用的临时目录,默认是C:\WINDOWS\Temp或Tmp。几乎所有的程序在运行时都会在这个目录里面“临时”写入文件。一般情况下,程序写入的临时文件都应该被该程序删除,可惜的是,大部分的程序都很健忘,导致这个文件夹占据的空间越来越大,自然也就使我们的系统增肥喽。所以,我们要把它修改到其他分区,并且时时的清理里面的临时文件。
  UserName 当前用户名,即所登陆的账户名
  UserProfile 当前用户的配置目录,一般都是C:\Documents and Settings\%UserName%。默认情况下,我们的桌面就是这个目录下面的“桌面”文件夹;我的文档就是这个目录下面的“My Documents”文件夹。所以啦,往桌面上或我的文档里面放东西就是放到这个文件夹下面了,也就是放到C盘了,重装系统时要覆盖C盘内容的,所以桌面上或我的文档里面的东西当然就会Gone with the Wind了~解决方法有两个,一是保持良好的习惯,不把重要文件放到这两个地方;二是,修改默认设置,将这两个文件夹都移到其他分区。
  编写批处理程序时,用户根据需要自己定义的变量称之为用户变量。用户变量类似于C语言里面的变量,仅仅在定义该变量的程序中有效。
  用户变量由set命令定义,这是批处理中非常非常重要的一个操作,从而使set命令成为批处理里面使用频率最高的几个命令之一。关于set命令的使用,参考set /?,本教程也会在后面对其进行讲解。
  【 3.变量引用 】
  前面的几节课里面,我们已经看到了如何引用变量,即直接用变量名操作变量,通过"%"或"!"来获取变量的值。其中,只有在for语句里面重复对同一变量多次赋值时才需要使用"!",并且在使用"!"调用变量时,要首先“启用延迟环境变量扩充”,启动命令为:SetLocal :eof,该语句相当于C语言里面的return或汇编语言里面的RET,即子程序返回命令。需要说明的是,当子函数本身就在批处理文件的末尾的话,我们是可以省略这句话的,比如将此例的goto :eof删除是不会产生任何影响的。
  【 2.间接传递 】

  批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。
  REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。例:
  REM 你现在看到的就是注解,这一句将不会被执行。在以后的例子中解释的内容都REM 会放在REM后面。请大家注意。
  ECHO 是一个回显命令主要参数有OFF和 ON,一般用ECHO message来显示一个特定的消息 。例:
  Rem 以上代表关闭回显即不显示所执行的命令
  Echo 这个就是消息。
  Rem 以上代表显示“这就是消息”这列字符
  GOTO 即为跳转的意思。在批处理中允许以“:XXX”来构建一个标号然后用GOTO :标号直接来执行标号后的命令。例
  REM 上面就是名为LABEL的标号。
  REM 以上程序跳转标号LABEL处继续执行。
  CALL 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。例:
  批处理2.BAT内容如下:
  ECHO 这就是2的内容
  批处理1.BAT内容如下:
  ECHO 这是1的内容
  ECHO 1和2的内容全部显示完成
  1和2的内容全部显示完成
  PAUSE 停止系统命令的执行并显示下面的内容。例:
  请按任意键继续 . . .
  IF 条件判断语句,语法格式如下:
  [NOT] 将返回的结果取反值即“如果没有”的意思。
  ERRORLEVEL 是命令执行完成后返回的退出值
  Number 退出值的数字取值范围0~255。判断时值的排列顺序应该又大到小。返回的值大于或等于指定的值时条件成立。
  string1==string2 string1和string2都为字符的数据,英文字符的大小写将看做不同,这个条件中的等于号必须是2个(绝对相等),条件相等后即执行后面的 command
  IF ERRORLEVEL这条语句必须放在某一个命令后面。执行命令后由IF ERRORLEVEL来判断命令的返回值。

}

在一堆文本文件中查找特定字符串,文件类型暂时支持txt,jsp,cs,htm,需要其他文件类型,在源码里自己改

}
  • bat脚本要打开有空格的路径,start后面必须加引号,exe路径也要加引号

  • cmd批处理bat命令根据端口号关闭杀死对应进程程序cmd批处理bat命令根据端口号关闭杀死对应进程程序使用场景和功能介绍主界面下载地址源代码 cmd批处理bat命令根据端口号关闭杀死对应进程程序 使用场景和功能介绍 ...

  • 已知当前bat文件已经开启触发了命令程序,请问要怎么才能关闭,不服的请自行下载

  • 每次打开cmd命令行输入命令觉得太麻烦,于是写了个bat脚本,直接点击执行就可以杀掉端口占用的进程了 windows 系统内,新建一个文本文档另存为killByPort.bat 文件,编码格式请选择ANSI编码(中文乱码)。复制下面...

  • 绑定网关的批处理及预留维护提到.bat 被锁定帐户.bat 不显示扩展名....打开快捷方式指向的目录.bat 弹出光驱.bat 断开网络联结.bat 改变我的文档路径.bat 给每个盘添加卷标.cmd 更改电源管理方式....

}

我要回帖

更多关于 cmd遍历全盘文件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信