Bat脚本基础教程
TYPE显示文本文件的内容。
[drive:][path]filename
SETLOCAL开始批处理文件中环境改动的本地化操作。
在执行 SETLOCAL 之后所做的环境改动只限于批处理文件。要还原原先的设置,必须执
行 ENDLOCAL。达到批处理文件结尾时,对于该批处理文件的每个
尚未执行的 SETLOCAL 命令,都会有一个隐含的 ENDLOCAL 被执行。
SETLOCAL
如果命令扩展名被启用,SETLOCAL 会如下改变:
SETLOCAL 批命令现在可以接受可选参数:
ENABLEEXTENSIONS / DISABLEEXTENSIONS
启动或停用命令处理器扩展名。详细信息,请参阅 CMD /?。
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
启动或停用延缓环境变量扩展名。详细信息,请
参阅 SET /? 。
无论在 SETLOCAL 命令之前它们的设置是什么,这些修改会一直
保留到匹配的 ENDLOCAL 命令。
如果有一个参数,SETLOCAL 命令将设置 ERRORLEVEL 的值。
如果有两个有效参数中的一个,该值则为零。用下列技巧,您
可以在批脚本中使用这个来决定扩展名是否可用:
VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Unable to enable extensions
这个方法之所以有效,是因为在 CMD.EXE 的旧版本上,SETLOCAL
不设置 ERRORLEVEL 值。具有不正确参数的 VERIFY 命令将
ERRORLEVEL 值初始化成非零值。
POPD命令选项到保存在 PUSHD 命令里的目录。
如果命令扩展名被启用,从推目录堆栈 POPD 驱动器时,POPD
命令会删除 PUSHD 创建的临时驱动器号。
PUSHD保存当前目录以供 POPD 命令使用,然后改到指定的目录。
PUSHD [path | ..]
path 指定要成为当前目录的目录。
如果命令扩展名被启用,除了一般驱动器号和路径,PUSHD
命令还接受网络路径。如果指定了网络路径,PUSHD 将创建一个
指向指定网络资源的临时驱动器号,然后再用刚定义的驱动器
号改变当前的驱动器和目录。可以从 Z: 往下分配临时驱动器
号,使用到的第一个没有用过的驱动器号。
PROMPT更改 命令提示符。
PROMPT [text]
text 指定新的命令提示符。
提示符可以由普通字符及下列特定代码组成:
$A & (短 and 符号)
$B | (管道)
$C ( (左括弧)
$D 当前日期
$E Escape code (ASCII 码 27)
$F ) (右括弧)
$G > (大于符号)
$H Backspace (擦除前一个字符)
$L < (小于符号)
$N 当前驱动器
$P 当前驱动器及路径
$Q = (等号)
$S (空格)
$T 当前时间
$V Windows XP 版本号
$_ 换行
$$ $ (货币符号)
如果命令扩展名被启用,PROMPT 命令会支持下列格式化字符:
$+ 根据 PUSHD 目录堆栈的深度,零个或零个以上加号(+)字符;
每个被推的层有一个字符。
$M 如果当前驱动器不是网络驱动器,显示跟当前驱动器号或
空字符串有关联的远程名。
PATH为可执行文件显示或设置一个搜索路径。
PATH [[drive:]path[;...][;%PATH%]
PATH ;
键入 PATH ; 清除所有搜索路径设置并指示 只在当前
目录中搜索。
键入 PATH 但不加参数,显示当前路径。
将 %PATH% 包括在新的路径设置中会将旧路径附加到新设置。
MORE逐屏显示输出。
MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]
[drive:][path]filename 指定要逐屏显示的文件。
command-name 指定要显示其输出的命令 。
/E 启用扩展功能
/C 显示页面前先清除屏幕
/P 扩展 FormFeed 字符
/S 将多个空白行缩成一行
/Tn 将跳格键扩展成 n 个空格(默认值为 8)
命令行开关可以出现在 MORE 环境变量中。
+n 从第 n 行开始显示第一个文件
files 要显示的文件列表。 用空格分开列表中的文件。
如果扩展的功能已经启用,在 -- More -- 提示处会接受下列
命令:
P n 显示下 n 行
S n 略过下 n 行
F 显示下个文件
Q 退出
= 显示行号
? 显示帮助行
<space> 显示下一页
<ret> 显示下一行
GOTO将 导向到批处理程序中带标签的行。
GOTO label
label 指定批处理程序中用作标签的文字字符串。
标签必须单独一行,并且以冒号打头。
如果命令扩展名被启用,GOTO 会如下改变:
GOTO 命令现在接受目标标签 :EOF,这个标签将控制转移到当前
批脚本文件的结尾。不定义就退出批脚本文件,这是一个容易的
办法。有关能使该功能有用的 CALL 命令的扩展名描述,请键入
CALL /?。
FIND在文件中搜索字符串。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
/V 显示所有未包含指定字符串的行。
/C 仅显示包含字符串的行数。
/N 显示行号。
/I 搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件。
批处理文件怎么做 "string" 指定要搜索的文字串,
[drive:][path]filename
指定要搜索的文件。
如果没有指定路径,FIND 将搜索键入的或者由另一命令产生的文字。
E:\>help findstr
在文件中寻字符串。
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/F:file]
[/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
strings [[drive:][path]filename[ ...]]
/B 在一行的开始配对模式。
/E 在一行的结尾配对模式。
/L 按字使用搜索字符串。
/R 将搜索字符串作为一般表达式使用。
/S 在当前目录和所有子目录中搜索
匹配文件。
/I 指定搜索不分大小写。
/X 打印完全匹配的行。
/V 只打印不包含匹配的行。
/N 在匹配的每行前打印行数。
/M 如果文件含有匹配项,只打印其文件名。
/O 在每个匹配行前打印字符偏移量。
/P 忽略有不可打印字符的文件。
/OFF[LINE] 不跳过带有脱机属性集的文件。
/A:attr 指定有十六进位数字的颜属性。请见 "color /?"
/F:file 从指定文件读文件列表 (/ 代表控制台)。
/C:string 使用指定字符串作为文字搜索字符串。
/G:file 从指定的文件获得搜索字符串。 (/ 代表控制台)。
/D:dir 查以分号为分隔符的目录列表
strings 要查的文字。
[drive:][path]filename
指定要查的文件。
除非参数有 /C 前缀,请使用空格隔开搜索字符串。
例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中寻 "hello" 或
"there" 。 'FINDSTR /C:"hello there" x.y' 文件 x.y 寻
"hello there"。
一般表达式的快速参考:
. 通配符: 任何字符
* 重复: 以前字符或类别出现零或零以上次数
^ 行位置: 行的开始
$ 行位置: 行的终点
[class] 字符类别: 任何在字符集中的字符
[^class] 补字符类别: 任何不在字符集中的字符
[x-y] 范围: 在指定范围内的任何字符
\x Escape: 元字符 x 的文字用法
\<xyz 字位置: 字的开始
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论