学会批处理,用心学很容易

时间:2007-09-21  来源:  作者:
广告载入中

如果 set 包含通配符(* 和 ?),则指定与目录名匹配,而不是文件名。 字串4

递归

字串5

for /R [[drive :]path] [%% | %]variable in (set) docommand [command-parameters] 字串7

进入根目录树[drive:]path,在树的每个目录中执行 for 语句。如果在 /R 后没有指定目录,则假定为当前目录。如果 set 只是一个句号 (.) 字符,则只列举目录树。

字串8

电脑教程

字串5

  字串6

迭代

字串4

for /L [%% | %]variable in (start,step,end) do command [command-parameters] 字串4

集合是一系列按步长量划分的、从头到尾的数字。这样,(1,1,5) 将生成序列 1 2 3 4 5,而 (5,-1,1) 将生成序列 (5 4 3 2 1)。
文件解析

字串8

for /F ["options"] [%% | %]variable in (filenameset) do command [command-parameters] 字串9

for /F ["options"] [%% | %]variable in ("literal string") do command[command-parameters] 字串3

for /F ["options"] [%% | %]variable in ('command') do command [command-parameters] 字串7

或者,如果出现 usebackq 选项: 字串9

for /F ["options"] [%% | %]variable in (filenameset) do command [command-parameters]

字串9

web教程网 字串7

 

字串1

for /F ["options"] [%% | %]variable in ('literal string') do command [command-parameters]

字串6

for /F ["options"] [%% | %]variable in (`command`) docommand [command-parameters] 字串9

filenameset 参数指定一个或多个文件名称。在继续到 filenameset 中的下一个文件之前,每个文件都会被打开、读取和处理。 字串7

过程由读取文件、分成独立的文本行及然后将每行解析成零个或更多个令牌组成。然后使用设置为找到的一个或多个令牌字符串的变量值(或多个值)集合调用 for 循环体。默认情况下,/F 传递每个文件每一行的第一个空白分隔符号。 字串7

跳过空行。通过指定可选的“options”参数可以覆盖默认的解析行为。这是一个引用字符串,它包含一个或多个关键字以指定不同的解析选项。关键字是: 字串7

关键字 说明
eol=c 指定行尾注释字符(只一个字符)
skip=n 指定在文件的开头跳过的行数。
delims=xxx 指定定界符集合。这将替换空格和制表符的默认分隔符集。

字串9

web教程网

字串8


tokens=x,y,m-n 指定将令牌从每行传递到每个反复的正文。这将导致分配其他变量名。m-n 格式是一个范围,指定从 mth 到 nth 的令牌。如果在令牌 = 字符串中最后一个字符是星号,则将分配附加的变量,并在解析最后一个令牌后在行上接收剩余的文本。
usebackq 指定将右引号字符串作为命令执行,单引号字符串是文字字符串命令,您可以使用双引号包括 filenameset 中的文件名。

字串2

变量替换

字串2

此外,已经增强了 for 变量引用的替换修改程序。现在可以使用下列可选的语法(对于任何变量 I):

字串2

变量(使用修改程序) 说明
%~I 展开删除了周围的任何引号 (") 的 %I
%~fI 将 %I 展开到完全合格的路径名
%~dI 只将 %I 展开到驱动器号
%~pI 只将 %I 展开到路径
%~nI 只将 %I 展开到文件名
%~xI 只将 %I 展开到文件扩展名
%~sI 展开路径以只包含短名称 软件应用
%~aI 将 %I 展开到文件的文件属性
%~tI 将 %I 展开到文件的日期/时间
%~zI 将 %I 展开到文件大小
%~$PATH:I 搜索 PATH 环境变量所列出的目录,并将 %I 展开开到第一个找到结果的全部合格名称。如果没有定义环境变量名,或搜索后没有找到文件,则此修改程序将扩展为空字符串。

字串7

修改程序可以合并以获得复杂的结果: 字串7

变量(使用合并的修改程序) 说明
%~dpI 只将 %I 展开到驱动器号和路径
%~nxI 只将 %I 展开到文件名和扩展名
%~fsI 将 %I 展开到只包含短名称的完整路径名
%~dp$PATH:I 在 PATH 环境变量所列出的目录中搜索 %I,并展开到第一个找到结果的驱动器号和路径
%~ftzaI 将 %I 扩展到与 dir 相似的输出行 字串1

注意

字串8

在上述范例中,%I 和 PATH 可被其他有效值替换。通过有效的 for 变量名终止 %~ 语法。 web教程网
使用大写变量名(例如 %I)可以使代码更具可读性,并且避免与不区分大小写的修改程序混淆。
Shift
更改批处理文件中可替换参数的位置。 字串1

shift

字串8

启用命令扩展(Windows 2000 中的默认设置)后,shift 命令支持 /n 开关,该开关通知命令在第 n 个参数处开始更改,n 可以是从 0 到 8 的任何一个值。例如, 字串7

SHIFT /2

字串4

将 %3 改为 %2,将 %4 改为 %3 等等,而 %0 和 %1 保持不变。 字串1

筛选器命令
筛选器命令可以帮助您排序、查看和选择部分命令输出结果。

字串1

通过筛选器命令传递信息

字串4

筛选器命令可以划分、重排以及提取通过的部分信息操作。Windows 2000 有三个筛选器命令:

字串9


more 命令每次显示一屏文件内容或命令输出。
find 命令在文件和命令输出中搜索指定字符。
sort 命令按字母顺序排列文件和命令输出。 字串2

要将输入从文件发送到筛选器命令,请使用小于符号 (<)。如果要筛选器命令从其他命令获得输入,请使用管道 (|)。

字串3

web教程网

字串3

  字串2

使用 more 命令来控制屏幕显示

字串7

more 命令每次一屏地显示文件的内容或命令输出。例如,下面的 more 命令每次显示一屏 List.txt 文件的内容: 字串1

more < list.txt

字串3

信息显示一屏后,会出现字“More”。要继续显示下一屏,请按键盘上任意键。要停止命令且不查看详细信息,请按 CTRL C 键。 字串9

如果使用产生多屏输出的命令,more 将十分有用。例如,假设定要查看硬盘的目录树。如果 Windows 2000 不能将目录在一屏内全部显示出来,请使用带管道号 (|) 和 more 命令的 tree 命令,如下例所示:

字串8

tree c:\ | more

字串7

tree 命令的第一屏输出被显示,后跟词“More”。Windows 2000 暂停,直到用户按键盘上的任意键为止(PAUSE 键除外)。

字串7

使用 find 命令搜索文本

看完这篇新闻有何感觉

文章评论

共有 0位热心网友发表了评论 查看完整内容

推荐信息

     

24小时热门信息

     
广告载入中