批处理文件入门

后缀是bat的文件就是批处理文件,是一种文本文件。简单的说,它的作用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令。那它有什么用呢?
  比如,在启动wps软件时,每次都必须执行
  C:\>cd wps
  C:\WPS>spdos
  C:\WPS>py
  C:\WPS>wbx
  C:\WPS>wps
  如果每次用WPS之前都这样执行一次,您是不是觉得很麻烦呢?
  如果有一个方法,只需编写一个批处理文件,就会自动执行刚才的所有命令,您想不想学呢?
  当您看完此节,自己编写的第一个批处理文件顺利执行时,您一定会大吃一惊的。
  此外电脑每次启动时都会寻找autoexec.bat这条批处理文件,从而可执行一些每次开机都要执行的命令,如设置路径path、加载鼠标驱动mouse、磁盘加速smartdrv等,可以使您的电脑真正自动化。
  echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们开始学起。 echo 表示显示此命令后的字符
  echo off 表示在此语句后所有运行的命令都不显示命令行本身
  @ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
  call 调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完那条文件后将无法执行当前文件后续命令)
  pause 运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续
  rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的
  例:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。
  批处理文件的内容为: 文件表示:
  echo off 不显示命令行
  dir c:\*.* >a.txt 将c盘文件列表写入a.txt
  call c:\ucdos\ucdos.bat 调用ucdos
  echo 你好 显示"你好"
  pause 暂停,等待按键继续
  rem 使用wps 注释将使用wps
  cd ucdos 进入ucdos目录
  wps 使用wps
  批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符%。
  %表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。
  例如,C:根目录下一批处理文件名为f.bat,内容为 format %1
  则如果执行C:\>f a: 则实际执行的是format a:
  又如C:根目录下一批处理文件的名为t.bat,内容为 type %1 type %2
  那么运行C:\>t a.txt b.txt 将顺序地显示a.txt和b.txt文件的内容
  if goto choice for 是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。
  if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:
  1、if "参数" == "字符串" 待执行的命令
  参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
  如if "%1"=="a" format a:
  2、if exist 文件名 待执行的命令
  如果有指定的文件,则条件成立,运行命令,否则运行下一句。如if exist config.sys edit config.sys
  3、if errorlevel 数字 待执行的命令
  如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2 DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码
  goto 批处理文件运行到这里将跳到goto 所指定的标号处, 一般与if配合使用。 如:
  goto end
  :end
  echo this is the end
  标号用 :字符串 表示,标号所在行不被执行
  choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……
  如: choice /c:dme defrag,mem,end
  将显示
  defrag,mem,end[D,M,E]?
  例如,test.bat的内容如下:
  @echo off
  choice /c:dme defrag,mem,end
  if errorlevel 3 goto defrag 应先判断数值最高的错误码
  if errorlevel 2 goto mem
  if errotlevel 1 goto end
  :defrag
  c:\dos\defrag
  goto end
  :mem
  mem
  goto end
  :end
  echo good bye
  此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。
  for 循环命令,只要条件符合,它将多次执行同一命令。
  格式FOR [%%f] in (集合) DO [命令]
  只要参数f在指定的集合内,则条件成立,执行命令
  如果一条批处理文件中有一行:
  for %%c in (*.bat *.txt) do type %%c
  含义是如果是以bat或txt结尾的文件,则显示文件的内容。
  autoexec.bat
  DOS在启动会自动运行autoexec.bat这条文件,一般我们在里面装载每次必用的程序,如: path(设置路径)、smartdrv(磁盘加速)、 mouse(鼠标启动)、mscdex(光驱连接)、 doskey(键盘管理)、set(设置环境变量)等。
  如果启动盘根目录中没有这个文件,电脑会让用户输入日期和时间。
  例如,一个典型的autoexec.bat内容如下:
  @echo off 不显示命令行
  prompt $p$g 设置提示符前有目录提示
  path c:\dos;c:\;c:\windows;c:\ucdos;c:\tools 设置路径
  lh c:\dos\doskey.com 加载键盘管理
  lh c:\mouse\mouse.com 加载鼠标管理
  lh c:\dos\smartdrv.exe 加载磁盘加速管理
  lh c:\dos\mscdex /S /D:MSCD000 /M:12 /V 加载CD-ROM驱动
  set temp=c:\temp 设置临时目录

转载于:https://www.cnblogs.com/markhe/archive/2009/08/14/1546058.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python批量生成图片_利用Python批量生成任意尺寸的图片

实现效果通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片。效果如下:目录结构实现示例# -*- coding: utf-8 -*-import threadingfrom PIL import Imageimage_size range(1, 1001)def start():for size in …

sql server linkserver oracle,SQL Server中使用Linkserver连接Oracle的方法

1.安装Oracle Client连接到Oracle的前提是在SQL Server服务器上安装Oracle Client。Oracle Client下载地址如下:安装完毕后要修改对应的tnsnames文件才能连接对应的数据,该文件所在目录:Oracle安装路径\product\10.2.0\client_1\NETWORK\ADMI…

SQL Server日期格式转换大全

Sql Server 中一个非常强大的日期格式化函数 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Select CONVERT(varchar(100), GETDATE(), 3): 1…

oracle传date参数十二小时,Oracle数据库中 to_date()与24小时制表示法及mm分钟的显示...

一、在使用Oracle的to_date函数来做日期转换时,时候也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。to_date(2005-01-01 13:14:20,yyyy-MM-dd HH24:mm:ss)原因是…

矩阵维度必须一致_如何从看得懂到会使用矩阵思维

本来我一开始是想学习如何使用艾森豪威尔矩阵的,但是利用学习观的方法想去网上找有关艾森豪威尔矩阵的例子时,发现网上几乎没有,网上能搜出来的都是对这个矩阵的介绍,看完这些介绍你会发现很简单,都能看懂,…

Windows 7 / Vista 分区问题

这个问题开始也困扰我很久,终得一无需安装软件且一招见招之法,步骤如下: 1.Windows键R,打开运行对话框,键入:diskpart #进入Windows 自带的磁盘管理程序进入DOS窗口:DISKPART> 2.键入&#x…

linux下的文件系统,Linux系统中常见的文件系统有哪些?

Linux系统是现在非常受欢迎的操作系统,在Linux之中,一切都是文件,因为有很多操作都是依靠文件系统才可以完成的,而且文件系统可以满足用户正常的使用,那么Linux中常见的文件系统有哪些?为大家介绍一下。总体来说&…

numpy 归一化_归一化(MinMax)和标准化(Standard)的区别

此文参考https://blog.csdn.net/u010947534/article/details/86632819定义上的区别归一化:将数据的值压缩到0到1之间,公式如下标准化:将数据所防伪均值是0,方差为1的状态,公式如下:归一化、标准化的好处&am…

学习网页栅格系统的几篇好文

1.[蓝色理想]网页的栅格系统设计[1] http://www.blueidea.com/design/doc/2008/6171.asp 2.[蓝色理想]网页的栅格系统设计[2] http://www.blueidea.com/design/doc/2008/6171_2.asp 3.网页栅格系统研究(1):960的秘密 http://www.68design.net…

linux中updatedb命令详解,updatedb命令

updatedb命令用来创建或更新 slocate/locate 命令所必需的数据库文件。updatedb命令的执行过程较长,因为在执行时它会遍历整个系统的目录树,并将所有的文件信息写入 slocate/locate 数据库文件中。 注意:slocate 本身具有一个数据库&#xff…

python多态_Python基础入门18节-第十六节 面向对象如何理解多态

多态是面向对象的一大特性,Python本身也是一门多态性的语言。在Python中要实现多态,还是得借助于上节提到的继承。假设有这么一个场景,在夏季我们可以看到荷花、牡丹花、太阳花,夏天一到这些花全都开放了。这些花我们就将它理解多…

WCF中的方法重载 实现

操作重载注意:WCF是不支持重载的,如果硬是写成重载的话,会抛出异常 InvalidOperationException,但是我们可以模拟! 原C#中的方法重载: interface ICalculator...{ int Add(int arg1,int arg2); double Add(double arg1,double arg2);} 在…

linux重新安装ssh服务器,Linux平台ssh服务器安装方法

玩蛇网推荐图文教程:python 列表关于SSH是什么及SSH的作用这里不做介绍,如果要了解可以自行面度哦。下面我就就开始以Linux平台为例,讲讲Linux平台ssh服务器安装方法。以下方法中都是以root用户权限去操作,大家在真实操作中&#…

linux重启后root密码错误,Linux技巧| 解决Debian Root密码忘记的问题

Debian Root密码忘记开机 grub 菜单下进入单用户模式进行修改密码/修改系统文件。解决过程注:本教程适用于 Debian 7 8 91. 首先。重启一下系统。在开机 grub 内核选择菜单那里,迅速按“e”。2. 将光标移动到“linux”开头的那一行,将原来的“…

python缩进tab还是空格_Python码农有话说:写代码时应该缩进使用 tab还是空格?...

对于程序员来说,其实Tab和空格远远不只是“立场”问题那么简单。在不同的编辑器里tab的长度可能不一致,所以在一个编辑器里用tab设置缩进后,在其它编辑器里看可能缩进就乱了。空格不会出现这个问题,因为空格就占一个字符的位置。大…

SilverLight学习笔记--Silverlight中WebService通讯

本文我们学习如何在Silverlight中使用WebService进行通讯。 新建项目Silverlight应用程序,命名为:SLWebService。在服务器端我们需要做两项目工作: 1、在Web项目中新建一个类Person,我们将在WebService中返回它的实例化对象。Person类定义如下…

linux怎么修改sftp默认端口,转:linux 修改sftp服务默认提供者sshd的session timeout

NAT firewalls like to time out idle sessions to keep their state tables clean and their memory footprint low.NAT防火墙喜欢对空闲的会话进行超时处理,以确保它们状态表的干净和内存的低占用率。Some firewalls are nice, and let you idle for up to a day …

导出文件_一招解决PDF文件导出图片

将PDF文件保存为高清图片是经常需要进行的保存方式之一,因为PDF文件虽然安全性高,但是相比较图片而言,还是不易进行查看的,那么如何将PDF文件导出图片呢?以前也了解过很多方法,不过最好的当然不是截图了。虽…

如何在 C# 中用 SharpZipLib 进行 ZIP 压缩与解压(转)

转自:http://www.cftea.com/c/2008/04/A1FQ34RYSYNLFT47.aspSharpZipLib 是一个免费的组件,可以利用它对 ZIP 等多种格式进行压缩与解压。 本地下载 SharpZipLib 0.85.4; 本地下载 SharpZipLib 0.85.4 源文件与示例; 本地下载 Sha…

linux缓存文件用户权限错误,CVE-2019-11244漏洞到底该如何修复?--关于缓存文件权限设置...

2019年5月,Kubernetes社区(后面简称”社区“)修复了标号为CVE-2019-11244的安全漏洞,这个修复方案似乎并不彻底,于是有人发布Issue对此提出异议,希望提供进一步修复方案。虽然Kubernetes已经非常安全,但对于一些安全标…