0%

bat Windows 脚本的编写

BAT 脚本编写指南

由于Windows 的操作并不是大小写敏感, 所以, 本文的示例有大写也有小写, 并不影响实际操作!
BAT 脚本编码使用 GB 2312 简体中文, 使用 UTF-8后竟然乱码报错,没细究, 使用就对了^_^

常用指令

显示

echo 表示显示此命令后的字符

echo off 表示在此语句后所有运行的命令都不显示命令行本身

@echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。

调用

call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。

暂停

pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续

注释

rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。 当然,我们还可以使用 :: 来代替 rem

目录操作

创建目录

1
2
MKDIR  # 全拼
MD # 简写
  1. 创建单个文件夹
    格式:MD [路径\]目录
    示例: md "C:\Documents and Settings\Master^ Shu"

  2. 同时创建多个目录
    格式: MD [路径\]目录1 [路径\]目录2 [路径\]目录3……
    示例: md abc D:\Dcouments\123 qwe 在当前目录下建立abcqwe两个目录,同时D:\gmae下也建立一个目录123

  3. 创建多级目录
    格式: MD [路径\]目录1\目录2\目录3\…
    示例: md d:\abc\abcd\abcde 在 d 盘下 创建目录 abd ,在abc 下创建 abcd …

删除目录

1
2
3
4
5
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/S 除目录本身外,还将删除指定目录下的所有子目录和
文件。用于删除目录树。
/Q 安静模式,带 /S 删除目录树时不要求确认

示例: rd /s /q d:\abc 不用确认删除 abc 目录树, 即 abc以及abc中的内容,
示例: rd /s d:\abc 需要用户确认方可删除 abc 目录树, 即 abc以及abc中的内容,
示例: rd d:\abc 删除 abc 空目录, 即 abc中有内容不是空目录时无法删除,

重命名

OSQL

一个SQL Ssever 的命令行工具
注意: osql 并不支持 SQL Server 的所有功能。
请使用 sqlcmd。有关详细信息,请参阅 SQL Server 联机丛书。
用法: osql [-U 登录 ID] [-P 密码]
[-S 服务器] [-H 主机名] [-E 可信连接]
[-d 使用数据库名称] [-l 登录超时值] [-t 查询超时值]
[-h 标题] [-s 列分隔符] [-w 列宽]
[-a 数据包大小] [-e 回显输入] [-I 允许带引号的标识符]
[-L 列出服务器] [-c 命令结束] [-D ODBC DSN 名称]
[-q “命令行查询”] [-Q “命令行查询” 并退出]
[-n 删除编号方式] [-m 错误级别]
[-r 发送到 stderr 的消息] [-V 严重级别]
[-i 输入文件] [-o 输出文件]
[-p 打印统计信息] [-b 出错时中止批处理]
[-X[1] 禁用命令,[退出的同时显示警告]]
[-O 使用旧 ISQL 行为禁用下列项]
批处理
自动调整控制台宽度
宽消息
默认错误级别为 -1 和 1
[-? 显示语法摘要]

常用的主要是
-E 可信连接
-S 服务器ip
-d 数据库名称
-U 连接用户名
-P 用户的密码
-i 执行的sql文件
-o sql语句输出的结果文件