批处理

方法1 
若有SQL脚本a.sql, b.sql, 其目录在f盘根目录下, 则可再写一个SQL脚本c.sql(假设其目录也在f盘根目录下, 也可以在其他路径下)如下: 
source f:/a.sql; 
source f:/b.sql; 
然后执行source f:/c.sql 即可.

方法2 
方法1的不便之处在于, 要为每个脚本写一句代码, 若有成千上万个, 这样写便不现实. 此时, 可用批处理来实现. 
以执行f:\test\目录下所有的SQL脚本为例, 其批处理代码如下: 
@echo off 
for %%i in (f:\test*.sql) do ( 
echo excute %%i 
mysql -uroot -p123456 < %%i 

echo success 
pause 
其中: do后面的左括号要跟在do后, 若放在do的下一行, 则出会出现一闪而过的情况, 数据库脚本有没有执行没有去查看. 
若是当前目录下, 可将”f:\test*.sql” 改为”.*.sql” 即可.

注意在SQL脚本中写上 use db_name. 
批处理命令备份mysql数据库 
本文转自http://www.jb51.net/article/19296.htm 
MySQL数据的备份工具也许有很多,在这我要给大家分享一下通过DOS批处理命令和MySQL、WinRAR命令来进行备份工作。 
工作环境 Windows Server 2003 ,MySQL安装目录 D:\MySQL , WinRAR 安装目录 C:\Program Files\WinRAR\WinRAR.exe 
备份数据存储的路径为 E:\数据备份,好了下面开始写DOS批处理命令了。 
复制代码 代码如下:

set “Ymd=�te:~,4%�te:~5,2%�te:~8,2%” 
md “E:\数据备份\%ymd%” 
“D:\MySQL\bin\mysqldump.exe” –opt -Q mysql -uroot -p123456789 > E:\数据备份\%Ymd%\mysql.sql 
REM ….. 这里可以添加更多的命令,要看你有多少个数据库,其中 -Q 后面是数据库名称 -p紧跟后面是密码 
echo Winrar loading… 
“C:\Program Files\WinRAR\WinRAR.exe” a -ep1 -r -o+ -m5 -df “E:\数据备份\%Ymd%.rar” “E:\数据备份\%Ymd%” 
echo OK!

把上面的命令保存为 backup.bat ,双击运行,就开始备份数据了。 
第一句是建立一个变量 %Ymd% ,通过 �te% 这个系统变量得到日期,�te:~,4% 表示取日期的前面4个字符就是年份,%�te:~5,2% 表示取日期第5个字符开始的2个字符就是月份,�te:~8,2% 这个就是日期号数,如 2009-06-20 这个日期最后得到的结果是 20090620 
第二句就是使用变量 %Ymd% 的值建立一个空的文件夹。 
第三句开始就是使用MySQL的命令对数据库mysql 进行备份,并存储在 E:\数据备份\%ymd% 这个文件夹下面,这里可以有很多类似的命令,备份多个数据库。 
最后就是使用 WinRAR 对备份的数据进行压缩,并存储为以 %Ymd% 变量值建立的RAR文件名,同时删除备份的 %Ymd% 目录。 
如果你想让系统自动定期备份,就可以通过系统的任务计划定期执行这个命令。

批处理语法,bat语法 
批处理就是把一批或者说是一条条命令放在一个文本里,然后批量执行!执行这 
一批命令的文件的扩展名是BAT文件或者CMD,把任何一批命令放入在有这样扩展名的文件里,执行时里面的命令就会一条条的执行完,当然 
我们还可以在其中加入一些逻辑判断的语句,让里面的命令在满足一定条件时执行指定的命令. 
了解了大概意思后,我们正式开始学习.先看一个简单的例子!

@echo off 
echo “欢迎来到非常BAT!” 
pause 
把上面的3条命令保存为test.bat或者test.cmd然后执行,他就会在屏幕上显示二行话:”欢迎来到非常BAT!请按任意键继续…” 
这就是一个简单批处理文件了,我们来分析一下. 
这个批处理文件一共就用了2条命令 “echo” 和”pause” 还有一个特殊符号”@” 
@符号在批处理中的作用是关闭当前行命令的回显,也就是不显示执行的是什么命令,只显示命令的结果! 
你可以执行下面这个批处理文件来理解,保存为.bat或者.CMD 
@echo 你好 
echo 你好 
@pause

echo命令的作用有两个,一个是在CMD上回显一行内容.如:echo “欢迎来到非常BAT!”,还一个是关闭命令的回显:echo off 
echo off的作用就相当于在每条命令前面加一个@符号,这样所有的命令将只会显示结果不显示命令. 
我们在echo off这命令前加一个@符号是为了不让echo off这条命令本身显示出来,让批处理更完美!

pause命令就是暂停的意思,防止批处理执行完后直接退出!执行pause命令后会自动在CMD里显示”请按任意键继续…”这样一行话!

从上面这个简单的批处理中,我们可以发现其实批处理就是运用一些含有特殊意义的符号和一些完成指定功能的命令组合而成,那么 
在批处理中有多少这样的特殊符号和功能命令呢?我们现在就来仔细了解一下一些最常用的! 
(以下内容来源网络,请各位仔细阅读,好进入下节的实例说明)

批处理的常见命令 
REM 
ECHO 
GOTO 
CALL 
PAUSE 
IF 
还有(FOR,SETLOCAL,SHIFT)这几个命令比较难,不适合写在基础篇,以后说明! 
批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。 
这些命令统称批处理命令。 
介绍命令 
1、REM (remark) 
REM是个注释命令,一般用来给程序加上注解,该命令后的内容在程序执行时,将不会被显示和执行。 
例:REM 这个命令就是注释 
这一句将不会被执行 
2、ECHO 
ECHO是一个回显命令,主要参数有OFF和ON。一般用ECHO MESSAGE来显示一个特定的消息。 
例: 
Echo off 
Rem 以上代表关闭回显(就是不显示所执行的命令) 
Echo 这个就是消息(message) 
Rem 以上代表显示“这就是消息(message)”这列字符 
咱们来看看执行结果:

3、GOTO 
GOTO会点编程的朋友就会知道这是跳转的意思。 
在批处理中允许以“:XXX”来构建一个标号,然后用GOTO XXX直接来执行标号后的命令。 
例: 
:lable 
REM 上面就是名为LABEL的标号 
DIR C:\ 
DIR D:\ 
GOTO lable 
REM 以上程序跳转标号LABEL处继续执行 
咱们来看看结果: 
4、CALL 
CALL命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后,再继续执行原来的批处理 
例: 
创建一个2.BAT,内容如下 
ECHO 这就是2的内容 
创建一个1.BAT,内容如下 
ECHO 这是1的内容 
CALL 2.BAT 
ECHO 1和2的内容全部显示完成。 
执行1.BAT,来看看结果: 
5、PAUSE 
PAUSE,玩游戏的人都知道,暂停的意思 
在这里就是停止系统命令的执行并显示下面的内容。 
例: 
PAUSE 
6、IF 
IF 条件判断语句,语法格式如下: 
IF [NOT] ERRORLEVEL number command 
IF [NOT] string1==string2 command 
IF [NOT] EXIST filename command 
解释下: 
[NOT]:将返回结果取反值,就是“如果没有”的意思 
ERRORLEVEL: 
是命令执行完成后返回的退出值 
Number: 
退出值的数字取值范围0~255,判断时值的排列顺序应该由大到小。返回的值大于等于指定的值时,条件成立 
string1==string2: 
string1和string2都为字符的数据,英文内字符的大小写将看作不同,这个条件中的等于号必须是两个(绝对相等的意思) 
条件相等后即执行后面的command 
EXIST filename: 
为文件或目录存在的意思 
IF ERRORLEVEL这个句子必须放在某一个命令的后面,执行命令后由IF ERRORLEVEL 来判断命令的返回值。 
例: 
(1) 
IF [NOT] ERRORLEVEL number command 
检测命令执行完后的返回值做出判断 
echo off 
dir z: 
rem 如果退出代码为1(不成功)就跳至标题1处执行 
IF ERRORLEVEL 1 goto 1 
REM 如果退出代码为0(成功)就跳至标题0处执行 
IF ERRORLEVEL 0 goto 0 
:0 
echo 命令执行成功! 
Rem 程序执行完毕跳至标题exit处退出 
goto exit 
:1 
echo 命令执行失败! 
Rem 程序执行完毕跳至标题exit处退出 
goto exit 
:exit 
Rem 这里是程序的出口 
(2)IF string1==string2 command 
检测当前变量的值做出判断 
ECHO OFF 
IF 1==2 goto no 
Echo 变量相等! 
goto exit 
:no 
echo 变量不相等 
goto exit 
:exit 
看看效果,敲击这个命令1.bat 数字 
(3)IF [NOT] EXIST filename command 
发现特定的文件做出判断 
echo off 
IF not EXIST autoexec.bat goto 1 
echo 文件存在成功! 
goto exit 
:1 
echo 文件不存在失败! 
goto exit 
:exit 
这个批处理大家可以放在C盘和D盘分别执行,看看效果

特殊符号: 
1. @ 
2. > 
3. >> 
4. | 
5. ^ 
6. & 
7. && 
8. “” 
9. , 
10. ;

常用批处理 bat 程序├─BAT优化│ -禁止修改、写入SYSTEM32目录.BAT│ -让XP不用图片查看器看图(略缩图).BAT│ DEL.JPG.SCR.BAT│ DELTEMP.BAT│ 关闭系统信使.BAT│ 减少非法关机等待扫描时间.BAT│ 删除系统备份文件.BAT│ 卸载INTEL集成显卡如同鸡胁的显面增强.BAT│ 卸载XP内置ZIP.BAT│ 恢复使用XP注册表.BAT│ 注册所有DLL.BAT│ 清除输入法外的所有RUN运行项.BAT│ 禁止修改、写入SYSTEM32目录.BAT│ 禁用危险的默认共享.BAT│ 让XP不用图片查看器看图(略缩图).BAT│ ├─其它类│ 2000XP停止打印.bat│ dir.bat│ sxs.exe 的查杀.bat│ sz.reg转换成reg.bat.bat│ 全盘删除所有文件夹下的_desktop.ini.bat│ 删除大小和类型一样的文件.bat│ 删除所有分区的默认共享.bat│ 将cwindows.复制到当前目录并显示进度.bat│ 打开快捷方式指向的目录.bat│ 批处理读注册表的Run下面的值.bat│ 按扩展名分类.bat│ 显示c盘~z盘.bat│ 枚举当前目录及子目录大小.bat│ 枚举显示.bat│ 查找最新的文件.bat│ 每个目录占用的空间.bat│ 篮球飞人火爆版.cmd│ 结束进程.bat│ 解锁注册表.BAT│ 输出倒文.bat│ 锁注册表.BAT│ ├─系统类│ C盘转换为NTFS格式.cmd│ dos下重启.bat│ guest.bat│ win2000关机命令.bat│ WIN2003 IIS最小权限分配.bat│ winxp修改计算机名.bat│ xp下确定最后的盘符.bat│ 不显示扩展名.bat│ 不显示隐藏文件.bat│ 使用WMI别名获取CPU信息.bat│ 关闭IDE通道检测.bat│ 列举进程.bat│ 判断光驱是否可用.bat│ 判断光驱里有无光盘.bat│ 判断分区格式.bat│ 刷新策略.bat│ 取得硬盘数.bat│ 右键添加bat.bat│ 右键添加打开MS-DOS.bat│ 弹出光驱.bat│ 改变我的文档路径.bat│ 显示扩展名.bat│ 显示用户名.bat│ 显示隐藏文件.bat│ 更改电源管理方式.bat│ 更改盘符.bat│ 更改系统启动菜单的时间.bat│ 查看工作组.bat│ 查看物理内存.bat│ 查看用户是否存在.bat│ 查看电脑硬件信息.bat│ 查看驱动器.bat│ 禁止保留文档记录.bat│ 给每个盘添加卷标.cmd│ 被锁定帐户.bat│ 重命名administrator账号.bat│ └─网络类 ARP本机绑定.bat XP服务优化批处理.bat 中文显示ping结果.bat 断开网络联结.bat 显示网络配置.bat 显示自己的IP.bat 查看网关的MAC地址.bat 查看进程使用的端口.bat 检查网络信息.bat 百度关键字搜索.bat 绑定网关的批处理及预留维护提到.bat 自动改回主页.bat 自定义配置网络ip、网关、dns.bat 网络信息.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值