DOS中for /f 参数讲解

最近在学DOS,记录以下心得:
在命令提示符中输入 “for /?”可以得到for用法的详解,但是其中的某些参数中的选项貌似并不好理解,比如 for /r "tokens=, , ";这个选项有什么作用呢?

DOS中得到部分如下:
FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
eol=c           - 指一个行注释字符的结尾(就一个)
        skip=n          - 指在文件开始时忽略的行数。
        delims=xxx      - 指分隔符集。这个替换了空格和制表符的
                          默认分隔符集。
        tokens=x,y,m-n  - 指每行的哪一个符号被传递到每个迭代
                          的 for 本身。这会导致额外变量名称的分配。m-n
                          格式为一个范围。通过 nth 符号指定 mth。如果
                          符号字符串中的最后一个字符星号,
                          那么额外的变量将在最后一个符号解析之后
                          分配并接受行的保留文本。
        usebackq        - 指定新语法已在下类情况中使用:
                          在作为命令执行一个后引号的字符串并且一个单
                          引号字符为文字字符串命令并允许在 file-set
                          中使用双引号扩起文件名称。

简单的说就是将文本中的内容以行为单位,进行分割,用"delims=,"来分割,这里用","作为分隔符,当“,”只有一个时候,将分开的两段的第一段传给参数%i,第二段传给%j(如果设定了"tokens=1,2"的话),如果一行中的","号有很多的话,就可以得到n+1段截得的子内容,n为","的个数,而这里 for只能接受最多3个分段,分别传给%i,%j,%k。这三个是写死的,只能是这三个,不能;另外起变量名。用"tokens=1,2,3"将截得的字段的前三个依次传给%i,%j,%k。用"tokens=1,2*"将截得的字段前两个传给%i,%j,以后的不管多少都传给%k。
另外说一下for中"/r"与"/f"的区别,“/r”针对的是文件目录,“/f”针对的是具体文件的内容。

小编学识有限,文章中难免出现错误,还望谅解,欢迎大家指出,我会及时改正。

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DOS批处理是一种在DOS操作系统下进行自动化任务的方法。它可以帮助用户批量执行多个DOS命令,从而提高工作效率。以下是一些DOS批处理高级教程和命令使用方法的精选。 首先,我们可以使用@echo off命令来关闭批处理的命令回显。这样可以使命令提示符窗口只显示执行结果,而不显示每条命令的具体执行过程。 接下来是一些常用的DOS命令: 1. dir命令:用于列出指定目录下的文件和子目录。可以使用参数/s来显示包括子目录在内的所有文件。 2. cd命令:用于更改当前目录。可以使用参数..返回上一级目录,或者使用绝对路径指定目标目录。 3. copy命令:用于复制文件或目录。可以使用参数/a来复制文件的属性。 4. del命令:用于删除文件。可以使用参数/f来强制删除只读文件,或使用参数/s删除目录及其子目录下的所有文件。 5. ren命令:用于重命名文件或目录。 6. move命令:用于移动文件或目录。可以使用参数/y来自动覆盖同名文件,或使用参数/i提示是否覆盖。 除了上述基本命令外,还有一些高级的DOS命令可以用于批处理: 1. set命令:用于设置和显示环境变量。可以使用参数/p将所有环境变量显示在命令提示符窗口上。 2. if命令:用于在进行条件判断时执行不同的命令。可以使用参数/ieq来执行相等条件判断。 3. for命令:用于在循环执行一系列命令。可以使用参数/f来读取指定文件的每一行。 4. choice命令:用于在批处理提供选择。可以使用参数/t设置等待时间,并返回相应的错误代码。 5. call命令:用于调用其他批处理文件。 通过学习和掌握这些高级的DOS批处理命令使用方法,我们可以更加灵活地进行自动化任务,提高工作效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值