<转>批处理文件的编写

By | 12月21日
Advertisement

&lt;转&gt;批处理文件的编写 ===========2005-08-30============批处理文件的编写:

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

Similar Posts:

  • 讨厌的批处理文件的编写

    做这个项目真是郁闷呀.遇到好多东西以前没用过的,简直不知道他们表示什么意思. @echo off REM Verify if JORAM_HOME is well defined if not exist "%JORAM_HOME%\samples\bin\admin.bat" goto nokHome REM Verify if JAVA_HOME is well defined if not exist "%JAVA_HOME%\bin\java.exe" go

  • 批处理文件(.BAT)转换为命令文件(.COM)

    众所周知,批处理文件具有编写和使用方便,占用内存少等独到的优点,特别是DOS 3.30以后的版本,又增加 了许多新的批命令,使批处理文件使用起来更得心应手.但批处理文件是用ASCII码存储的,这既是优点也是 缺点.当你编写好一个软件后,其中要用到批处理文件,则会出现泄密的现象.怎样把批处理文件编译为命 令文件,而得到一定程度的保密呢? 一.批处理文件(.BAT)转换为命令文件(.COM)的技术原理 DOS的功能调用4BH是执行装入一个外部程序,并有选择地执行之,使用起来比较麻烦.DOS还提供了

  • 件上传组件的应用与编写

    在许多Web站点应用中都需要为用户提供通过浏览器上传文档资料的功能,例如,上传邮件附件.个人相片.共享资料等.对文件上传功能,在浏览器端提供了较好的支持,只要将FORM表单的enctype属性设置为"multipart/form-data"即可:但在Web服务器端如何获取浏览器上传的文件,需要进行复杂的编程处理.为了简化和帮助Web开发人员接收浏览器上传的文件,一些公司和组织专门开发了文件上传组件.本章将详细介绍如何使用Apache文件上传组件,以及分析该组件源程序的设计思路和实现方法

  • OSGI: 脱离IDE部署

    目前开发OSGI,使用的IDE是SpringSource Tool Suite(STS),这个spring出品的工具不但具备eclipse的所有特性,对spring的支持可谓一流. 1. 在STS中建立Eclipse插件工程Plug-in Project: 2. 将工程导出为Deployable plug-ins and fragments: 3. 建立单独的部分目录JK,拷贝IDE的plugins目录中的org.eclipse.osgi_3.5.2.R35x_v20100126.jar(不同版

  • 如何为WEB程序写安装文件

    在做WEB应用程序时,一般需要一些初始化数据,此时可以使用一个批处理文件,编写一个.bat文件完成此操作,如: echo off rem 执行安装程序 java -classpath .;WebRoot/WEB-INF/classes cn.itcast.install.Installer rem 暂停 pause Java代码如下: public static void main(String[] args) { System.out.println("正在执行安装..."); Ap

  • 2007年10月6日

    1)如何查看本机所开端口:#<|X ©南京证券镇江营业部证券论坛 -- 我的证券论坛,好酷酷 :) $ 用netstat -a -n命令查看!再stat下面有一些英文,我来简单说一下这些英文具体都代表什么RkBW ©南京证券镇江营业部证券论坛 -- 我的证券论坛,好酷酷 :) Y(O5 LISTEN:侦听来自远方的TCP端口的连接请求| ©南京证券镇江营业部证券论坛 -- 我的证券论坛,好酷酷 :) l{l?<d SYN-SENT:再发送连接请求后等待匹配的连接请求*wQe ©南京证券镇江营业

  • Spark入门教程(1)——spark是什么及发展趋势概述

    本教程源于2016年3月出版书籍<Spark原理.机制及应用> ,如有兴趣,请支持正版书籍. 随着互联网为代表的信息技术深度发展,其背后由于历史积累产生了TB.PB甚至EB级数据量,由于传统机器的软硬件不足以支持如此庞大的数据量的存储.管理及分析能力,因而专门应对大数据的分布式处理技术应运而生.如今业界大数据处理的主流平台非Hadoop和Spark莫属,本书主要介绍大数据平台的后起之秀Spark,目的是通过系统学习让读者了解和应用大数据,进而提炼大数据中蕴藏的价值. 本章主要向读者介绍Spar

  • 编写批处理文件利用诺顿2967端口溢出获得控制权

    需要准备的软件工具: s.exe symantec.exe nc.exe 1.首先编写一个批处理文件利用s.exe扫描远程机器的2967端口. 文件名为sao.bat,内容如下: @echo Title 诺顿2967扫描工具,制作bye 高迪 color A @set IPSTART= @set IPEND= @set XIANCHENG=5 @echo 在进行溢出之前,您必须进行扫描. set /p IPSTART=请输入起始地址: set /p IPEND=请输入结束地址: set /p X

  • ping的批处理文件编写

    原文地址:ping的批处理文件编写作者:迷你猫 做为一名网络工程师,经常要测试某地网络的好坏,而最直接的命令就是ping,但是一次ping好多天,而且每隔一段时间就要ping和tracert,使工作繁琐麻烦,所以就需要学习一些简单的批处理了. 下面跟懒人简单介绍一下ping的批处理文件编写. 首先,在电脑的任一个地方,(我习惯在桌面)新建一个文本文档,打开之后写入下面语句 date/t >>c:test.txt (显示日期,并重定向写入到c盘下text.txt下) time/t >>

  • 如何书写批处理文件?(批处理文件的介绍及编写规范)

    批处理的介绍 扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件. 首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件. 其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一

Tags: