http://blog.csdn.net/warsgrobe/archive/2005/08/31/468457.aspx
批处理文件的编写:
.bat是dos下的批处理文件
.cmd是nt内核命令行环境的另一种批处理文件
从更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外壳进行解释执行的文本,都具有与批处理文件十分相似的作用,而且同样是由专用解释器以行为单位解释执行,这种文本形式更通用的称谓是脚本语言。所以从某个程度分析,batch, unix shell, awk, basic, perl 等脚本语言都是一样的,只不过应用的范围和解释的平台各有不同而已。甚至有些应用程序仍然沿用批处理这一称呼,而其内容和扩展名与dos的批处理却又完全不同。
首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。
在这里面常用到的命令有:
echo,当程序运行时,显示或隐藏批处理程序中的正文。也可用于允许或禁止命令的回显。
rem,指定要屏蔽的命令或要包含的注解。
pause,暂停批处理程序的执行并显示一条消息,提示用户按任意键继续执行。
if,条件语句
if exist,存在语句
goto,跳转语句
:,标号。和goto结合使用
FOR,循环语句
%,参数的使用
下面给出我学习时的几个例子:
一、first.bat,简单的将d盘下的文件列表保存到a.txt中,并打印出一句话你好
@echo off
dir d:\*.* >a.txt
rem 打印出你好
echo 你好
pause
二、second.bat,练习if ,goto,和:,
@echo off
::如果是b.txt 则直接跳到End
if %1==b.txt goto End
rem 如果文件存在则转到真正的操作,否则跳到End
if exist %1 goto OkType
echo 错误的文件
goto End
rem 参数正确,执行命令
:OkType
type %1
rem 结束
:End
echo 命令执行完毕
三、third.bat,练习for,显示在执行目录下,所有扩展名为*.BAT *.TXT *.SYS的文件
@ECHO OFF
FOR %%C IN (*.BAT *.TXT *.SYS) DO TYPE %%C
下面的四、五、六三个例子,是我要在实际中用到的,其中mysqlbat是用来调用mytestscript数据库脚本文件(见七)来做一些数据库处理,
同时还从mysql中导出数据库文件到文本文件的,
myHperGroupUtil是在IbmOlayServer 的前端展现工具Hyper Analyse中,将设计好的视图导出的,
MyBat是一个可以说是综合的批处理文件,根据输入的参数调用前两个批处理文件,例如输入:MyBat -sql 则自动执行mysqlbat
输入:MyBat -grouputil,则自动执行myHperGroupUtil
四、mysqlbat.bat
@echo off
rem 打印出你好
echo 你好
rem mysql -u root --password=123
rem 将gb数据库自动导出到D盘下的文件中
cd d:\
mysql -u root --password=123 < "D:\myworkspace\BAT\mytestscript"
mysqldump gb -u root --password=123 > gb.sql
echo 结束
cd D:\myworkspace\BAT>mysqlbat
pause
五、myHperGroupUtil.bat
@echo off
rem 打印出你好
echo 你好
cd C:\Program Files\Hyperion Analyzer\Applications
c:
Grouputl /e /u system /p 12345 /o {System} /D d:\
echo 结束
cd D:\myworkspace\BAT>mysqlbat
d:
pause
六、MyBat.bat
@echo off
::如果是sql则直接跳到End
if %1==-sql goto sql
if %1==-grouputil goto grouputil
:wrong param
echo 参数不存在
goto End
:sql
mysqlbat
goto end
:grouputil
myHperGroupUtil
goto end
rem 结束
:End
echo 命令执行完毕
七、mytestscript数据库脚本文件
use gb;
drop table testscript;
create table testscript(col1 int not null,col2 varchar(10));
insert into testscript(col1,col2) values(1,"c1");
insert into testscript(col1,col2) values(2,"c2");
select * from testscript into outfile 'D:/myworkspace/BAT/testscript.txt';
随着我学习的深入,会进一步的补充。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=468457
相关推荐
简明批处理教程22009年10月20日 星期二 下午 05:35 最近对于批处理技术的探讨比较热,也有不少好的批处理程序发布,但是如果没有一定的相关知识恐怕不容易看懂和理解这些批处理文件,也就更谈不上自己动手编写了,古...
10<br><br>0023 如何添加引用第3方控件 11<br><br>0024 如何生成DLL文件 11<br><br>0025 如何使用不安全代码 11<br><br>第2章 语言基础 13<br><br>2.1 注释 14<br><br>0026 如何对代码进行注释 14<br>...
1、编写网页! 众所周知,网页就是用HTM标记...2、制作批处理文件 有一天我有个同学学会了在控制面板中的计算机管理/操作/所有任务/发送控制台消息,所以就用它来骚乱同学,在机房的时候不时弹出几个对话框来,
批处理文件编写
这些批处理代码是本人在中国DOS联盟论坛学习批处理期间收集/编写的经典代码(至少本人认为是经典),绝大部分来源于中国DSO联盟论坛,少量来源...<br><br> <br><br><br> DOS批处理 & 脚本技术(批处理室) 前版主:namejm
<br>8.4.4.4 排序行 <br>8.4.4.5 日期计算 <br>8.4.4.6 NULL值操作 <br>8.4.4.7 模式匹配 <br>8.4.4.8 行计数 <br>8.4.5 使用多个数据库表 <br>8.5 获得数据库和表的信息 <br>8.6 以批处理模式使用mysql <br>8.7 从...
在批处理模式下使用mysql<br>3.6. 常用查询的例子<br>3.6.1. 列的最大值<br>3.6.2. 拥有某个列的最大值的行<br>3.6.3. 列的最大值:按组<br>3.6.4. 拥有某个字段的组间最大值的行<br>3.6.5. 使用用户变量<br>3.6.6....
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。 pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key ...
批处理 文件 VB 开发工具 VisualBat批处理文件编写工具
详细介绍了编写批处理程序(后缀为.bat)的过程,也有很多实例。
BAT批处理文件编写详细手册.doc
■追求批处理的简洁化<br> 比如说[想把最近一周内有所变化的数据库对象全部输出到SQL脚本][把处于无效状态的程序进行再编译]等这种用本来写好的SQL角本可以做成的工作,也会因数据库对象的...
<br/>8.4.4.4 排序行 <br/>8.4.4.5 日期计算 <br/>8.4.4.6 NULL值操作 <br/>8.4.4.7 模式匹配 <br/>8.4.4.8 行计数 <br/>8.4.5 使用多个数据库表 <br/>8.5 获得数据库和表的信息 <br/>8.6 以批处理模式使用mysql <br...
一个如何编写批处理的文档。希望对大家有所帮助
运行任何WSH文件<br/>禁止C盘中新建任何WSF文件<br/>禁止在本地新建,修改,执行任何AUTORUN.INF文件<br/>禁止在C盘中新建任何SYS文件<br/>禁止在Downloaded Program Files目录中新建任何文件<br/>禁止添加桌面文件<br...
批处理文件的编写,比较详细的说明。
首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改...