收藏本页
联系我们
论坛帮助

>> 主要是Mircosoft的产品……还是古老的DOS比较可爱。
趣题之家计算机应用操作系统Dos & Windows教你创建批处理文件

  发表一个新帖子  发起一个新投票  回复本主题 您是本帖的第 10790 个阅读者
  标题:教你创建批处理文件 树形   打印   收藏   推荐  
     帅哥哟,离线,有人找我吗?
    
    
    等级:管理员
    威望:50
    文章:291
    积分:669
    注册:2003-05-18
 QQ 给趣题之主发送一个短消息 把趣题之主加入好友 查看趣题之主的个人资料 搜索趣题之主在的所有贴子 点击这里发送电邮给趣题之主 访问趣题之主的主页引用回复这个贴子 回复这个贴子 楼主
发贴心情 教你创建批处理文件
====================
= 您没有浏览该精华帖子的权限 =
====================
  
发贴IP已设置保密 2004-10-17 13:12
       
     帅哥哟,离线,有人找我吗?
    
    
    等级:管理员
    威望:50
    文章:291
    积分:669
    注册:2003-05-18
 QQ 给趣题之主发送一个短消息 把趣题之主加入好友 查看趣题之主的个人资料 搜索趣题之主在的所有贴子 点击这里发送电邮给趣题之主 访问趣题之主的主页引用回复这个贴子 回复这个贴子 2
发贴心情

利用上面的方法,就可以顺序执行一些DOS命令了,不过光有这种功能的批处理程序还有很多不足,比如,顺序执行的命令用户都能看得到,显得很不美观等等。


为了解决这些问题,一些与批处理有关的批处理命令便由此诞生。首先让我们来认识一下


一、控制回显(屏幕显示)的命令


1.echo命令


echo命令用来控制在屏幕上显示的内容,用法如下:


        echo [ off/on/一串字符 ]


echo off :禁止在屏幕上显示执行的命令。也就是说执行的命令不会被使用者所看到,但这并不影响被执行程序的输出。
echo on :允许在屏幕上显示执行的命令。这是默认的状态。
echo 字符串: 在屏幕上显示相应的字符串。(注意, echo. 可以输出一个空行)


注:在Windows 2000 及以上版本的控制台中,echo 后可以省略参数,用以显示当前的echo状态,在制作批处理文件的过程中,他的意义并不大。


2. @


@命令同样用于控制批处理文件的屏幕输出。它与echo不同,不适用于做单个的语句(这样做毫无意义),而是在语句前加上它(@)即可。
加上@的一行命令同样不会被显示在屏幕上。当然,当echo的状态为off时,该语句没有意义。


小窍门:由于echo语句只能控制echo之后的内容,所以echo一行仍然会被显示在屏幕上,为了将这一行也隐藏,@就派上用场了,如 @echo off ,使屏幕更加整洁。




利用 echo 命令 和 @ ,可以使批处理文件的执行过程中产生的不必要内容隐藏,使其更加美观。


二、暂停命令(Pause)


用法:Pause


功能:暂停批处理程序的处理并显示消息,提示用户按任意键继续。


[此贴子已经被作者于2004-11-21 16:08:06编辑过]
发贴IP已设置保密 2004-10-17 13:13
       
     帅哥哟,离线,有人找我吗?
    
    
    等级:管理员
    威望:50
    文章:291
    积分:669
    注册:2003-05-18
 QQ 给趣题之主发送一个短消息 把趣题之主加入好友 查看趣题之主的个人资料 搜索趣题之主在的所有贴子 点击这里发送电邮给趣题之主 访问趣题之主的主页引用回复这个贴子 回复这个贴子 3
发贴心情

三、参数的使用:


利用前面的命令所编写的批处理程序有一个共同的缺点:程序是没有输入的,也就是说一个批处理只能实现一个特定的功能,这就影响了批处理文件的灵活性。


参数的使用使批处理文件有了输入,扩展了批处理的功能,下面简单介绍一下批处理文件中参数的实现。


  (1)%
    %是使用参数的过程中最重要的符号,下面举例来说明他的作用和用法:


        使用格式: %n  (n为一个0~9之间的整数)


   %n 表示用命令行运行该批处理文件时的第n个参数,例如执行时 a.bat 时输入


        c:\>a.bat  c d


   则%1表示第一个参数 c,%2表示第二个参数d,而此时 %0表示调用a.bat时的命令,即a.bat。


         应用举例(a.bat):


                @echo off
                echo Files in Directory %1 will be shown to you
                pause
                dir %1


      执行时,输入 a 路径 以实现dir命令。


  (2)shift命令


尽管%使用起来非常方便,但是参数多时便会出现问题:%后只能跟0~9间的整数,也就是说利用%只能直接调用10个参数。为了能够调用到每一个参数,我们需要用到shift命令。


shift 命令通过将每个参数复制到前一个参数中,更改可替换参数 %0%9 的值。也就是说,将 %1 的值复制到 %0%2 的值复制到 %1,依次类推。


在Windows 2000或更高版本中,shift 后可跟参数,即 shift /n ,可以保持从%0到%n-1不变,而将%n+1的值赋给%n,依此类推。



然而shift 命令的强大功能却不仅在于此,该命令在撰写对任何数目的参数执行相同操作的批处理文件时非常有用。(需要了解循环)


(未完待续)


[此贴子已经被作者于2004-11-21 16:08:37编辑过]
发贴IP已设置保密 2004-10-17 13:13
       
     帅哥哟,离线,有人找我吗?
    
    
    等级:管理员
    威望:50
    文章:291
    积分:669
    注册:2003-05-18
 QQ 给趣题之主发送一个短消息 把趣题之主加入好友 查看趣题之主的个人资料 搜索趣题之主在的所有贴子 点击这里发送电邮给趣题之主 访问趣题之主的主页引用回复这个贴子 回复这个贴子 4
发贴心情 选择语句if

下面说一下选择语句,选择语句通常用if。


在批处理程序中执行条件处理。如果 if 命令中指定的条件为真,将执行该条件后的命令。如果条件为假,将忽略 if 子句中的命令,并执行 else 子句中的任何命令(如果已经指定了命令)。


if [not] string1==string2 command [else expression]
if [not] exist filename command [else expression]


not
指定只有当条件为假时才能执行该命令。
errorlevel number
只有当由 Cmd.exe 运行的前一个程序返回大于或等于 number 的退出代码时,才能指定真条件。
command
指定在符合前面的条件时将执行的命令。
string1==string2
只有当 string1string2 相同时才能指定真条件。这些值可以是文字字符串或批处理变量(例如,%1)。文字字符串不需要引号。


exist filename
如果 filename 存在,则指定真条件。


[此贴子已经被作者于2004-11-21 16:04:38编辑过]
发贴IP已设置保密 2004-10-17 13:15
       
     帅哥哟,离线,有人找我吗?
    
    
    等级:管理员
    威望:50
    文章:291
    积分:669
    注册:2003-05-18
 QQ 给趣题之主发送一个短消息 把趣题之主加入好友 查看趣题之主的个人资料 搜索趣题之主在的所有贴子 点击这里发送电邮给趣题之主 访问趣题之主的主页引用回复这个贴子 回复这个贴子 5
发贴心情
还得占位
发贴IP已设置保密 2004-10-23 22:26
       
     帅哥哟,离线,有人找我吗?
    
    
    等级:新手上路
    文章:1
    积分:52
    注册:2004-10-26
给lybgy发送一个短消息 把lybgy加入好友 查看lybgy的个人资料 搜索lybgy在的所有贴子 点击这里发送电邮给lybgy 引用回复这个贴子 回复这个贴子 6
发贴心情
写得很不错!送朵花
发贴IP已设置保密 2004-10-26 08:27
       
     帅哥哟,离线,有人找我吗?
    
    
    等级:新手上路
    文章:1
    积分:51
    注册:2004-10-26
给ben32发送一个短消息 把ben32加入好友 查看ben32的个人资料 搜索ben32在的所有贴子 点击这里发送电邮给ben32 引用回复这个贴子 回复这个贴子 7
发贴心情
hao dong xi. I'll download after it's completed.

我可能不能打中文,各位看得辛苦了。 <BR>                          ----------------I love solving problems!
发贴IP已设置保密 2004-10-26 19:04
       
     帅哥哟,离线,有人找我吗?
    
    
    等级:新手上路
    文章:1
    积分:54
    注册:2004-10-27
给skyson发送一个短消息 把skyson加入好友 查看skyson的个人资料 搜索skyson在的所有贴子 点击这里发送电邮给skyson 引用回复这个贴子 回复这个贴子 8
发贴心情

劳烦,能不能写一个用来测试*1.in *2.in ......*11.in 的bat文件内容啊

谢谢

发贴IP已设置保密 2004-10-27 16:23
       
     帅哥哟,离线,有人找我吗?
    
    
    等级:管理员
    威望:50
    文章:291
    积分:669
    注册:2003-05-18
 QQ 给趣题之主发送一个短消息 把趣题之主加入好友 查看趣题之主的个人资料 搜索趣题之主在的所有贴子 点击这里发送电邮给趣题之主 访问趣题之主的主页引用回复这个贴子 回复这个贴子 9
发贴心情
评测程序第一次更新已经能够解决您的问题,您去看一下吧
发贴IP已设置保密 2004-10-27 20:46
       
     帅哥哟,离线,有人找我吗?
    
    
    等级:管理员
    威望:50
    文章:291
    积分:669
    注册:2003-05-18
 QQ 给趣题之主发送一个短消息 把趣题之主加入好友 查看趣题之主的个人资料 搜索趣题之主在的所有贴子 点击这里发送电邮给趣题之主 访问趣题之主的主页引用回复这个贴子 回复这个贴子 10
发贴心情
期中考试了,考完接着写剩下的部分……
发贴IP已设置保密 2004-11-01 18:12
       

 13   10   1/2页      1   2   尾页 


网上贸易 创造奇迹! 阿里巴巴 Alibaba

Powered By Dvbbs Version 7.1.0
Copyright ©2003 - 2006 QTHome.Org
页面执行时间 00.15625 秒, 3 次数据查询
本论坛采用阿里巴巴支付宝网上银行支付系统,安全、可靠、便捷