在For命令语句的参数F中,最难理解的就是Delims和Tokens两个选项,本文简单的做一个比较和总结。
“For /f”常用来解析文本,读取字符串。分工上,delims负责切分字符串,而tokens负责提取字符串。如果把字符串当作蛋糕,Delims像刀子,用来切蛋糕,tokens像叉子,用来取切好的蛋糕。下面我们用实例来进行理解。
把以下内容保存为文本文件“歌曲列表.txt”,注意扩展名为“.txt”:
序号、歌手名-歌曲名.后缀名
1、饶天亮-玫瑰爱人.wma
2、高一首-我不愿错过.mp3
3、黃凱芹-傷感的戀人.MP3
4、黄灿-黄玫瑰.lrc
5、黎姿-如此这般的爱情故事.mp3
代码1:显示全部内容
@echo off
for /f %%i in (歌曲列表.txt) do echo %%i
pause>nul
运行结果:
序号、歌手名-歌曲名.后缀名
1、饶天亮-玫瑰爱人.wma
2、高一首-我不愿错过.mp3
3、黃凱芹-傷感的戀人.MP3
4、黄灿-黄玫瑰.lrc
5、黎姿-如此这般的爱情故事.mp3
讲解:
如果不使用参数“/f”,运行结果只显示括号里的文字字符“歌曲列表.txt”,而不能读取文本文件“歌曲列表.txt”中的内容。可见,“/f”是解析文本字符串的好工具。
一、delims
假如只要序号,不要歌手名、歌曲名和后缀名,如何办到?
代码2:默认提取第一列
@echo off
for /f "delims=、" %%i in (歌曲列表.txt) do echo %%i
pause>nul
运行结果:
序号
1
2
3
4
5
讲解:
"delims=、"表示定义顿号“、”为分隔符,并用该分隔符“、”切分文本字符串。字符串就是“歌曲列表.txt”里的内容,也就是文件里的文字和标点符号。
该顿号是原文中就有的。除了顿号“、”,原文中还有减号“-”和点号“.”,因此你也可以用它们来做分隔符。
代码3:用减号“-”做分隔符
@echo off
for /f "delims=-" %%i in (歌曲列表.txt) do echo %%i
pause>nul
运行结果:
序号、歌手名
1、饶天亮
2、高一首
3、黃凱芹
4、黄灿
5、黎姿
讲解:
因为,当减号“-”被用做分隔符时,每行内容被减号“-”分隔成前后两半,默认只显示前半部分,而后半部分连同分隔符减号“-”都被忽略(省略)了。
代码4:用点号“.”做分隔符
@echo off
for /f "delims=." %%i in (歌曲列表.txt) do echo %%i
pause>nul
运行结果:
序号、歌手名-歌曲名
1、饶天亮-玫瑰爱人
2、高一首-我不愿错过
3、黃凱芹-傷感的戀人
4、黄灿-黄玫瑰
5、黎姿-如此这般的爱情故事
讲解:
默认情况下,单纯使用delims而不用tokens时,只显示第一个分隔符前的内容,第一个分隔符和第一个分隔符后面的内容将被忽略。
代码5:定义多个分隔符
@echo off
for /f "delims=、-." %%i in (歌曲列表.txt) do echo %%i
pause>nul
运行结果:
序号
1
2
3
4
5
讲解:
原因是,当定义顿号“、”、减号“-”和点号“.”三个标点符号为分隔符后,原文被分隔成四个部分。
如第二行“1、饶天亮-玫瑰爱人.wma”将被分隔成“1”、“饶天亮”、“玫瑰爱人”和“wma” 四个部分。
从第一行到最后一行,每行的每个部分对应下来相当于一个竖列。因此,原文就有“序号”、“歌手名”、“歌曲名”、“后缀名”四列。
一般情况下,只读取第一列的内容。后面的内容需要用tokens选项提取。

转载于:https://www.cnblogs.com/Jian-Zhang/p/6066158.html

批处理Delims的基本知识相关推荐

  1. 批处理学习大全海量知识

    扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件. ==== willsort 编注 ====================================== ...

  2. BAT 批处理脚本教程

    BAT 批处理脚本教程 第一章 批处理基础 第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统 ...

  3. widows批处理精选

    DOS批处理高级教程精选合编20080331(windows Xp) 前言 本教程主要引用伤脑筋版主(www.verybat.cn)的系列文章,同时参考引用[英雄]教程等其他批处理教程,本文将这些文章 ...

  4. windows批处理学习

    转自:http://blog.csdn.net/chenlycly/article/details/30480609 第一章 批处理基础 第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文 ...

  5. Windows BAT批处理脚本教程

    第一章 批处理基础 第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令. 小知识: ...

  6. windows批处理命令教程

    原文地址:http://www.cnblogs.com/phyllis/archive/2011/05/19/2051131.html 第一章 批处理基础 第一节 常用批处理内部命令简介 批处理定义: ...

  7. BAT批处理脚本教程

    第一章 批处理基础 第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令. 小知识: ...

  8. BAT 批处理脚本 教程

    第一章 批处理基础 第一节 常用批处理内部命令简介   批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令. 小知 ...

  9. Windows bat常用批处理命令学习

    转载自:https://blog.csdn.net/qq826364410/article/details/79323351 第一章 批处理基础 第一节 常用批处理内部命令简介 批处理定义:顾名思义, ...

最新文章

  1. MSN Cartoon 试用
  2. mysql锁简谈_mysql锁简谈
  3. 38. Leetcode 101. 对称二叉树 (二叉树-二叉树性质)
  4. Python气流介绍
  5. MailMail升级到1.0.2.4
  6. 蚂蚁金服4轮面经(Java研发):G1收集器+连接池+分布式架构
  7. ajax请求php省略后缀,如何在PHP中更安全地处理Ajax请求?
  8. vlookup两个条件匹配_vlookup,你还是只会基础的单条件查找?
  9. bat截取字符串[转]
  10. Java中Lambda表达式的使用(转)
  11. 如何清除BIOS密码
  12. 面试准备——(二)专业知识(1)Linux
  13. atitit uke企业行政部 世界行政区域划分表 与邮政编码规划 v5 r88.xlsx
  14. redis 默认过期策略_redis 过期策略
  15. Python Scrapy中文教程,Scrapy框架快速入门
  16. 用python判断素数
  17. win10 linux efi分区大小,EFI模式 win10+Ubuntu16.04双系统
  18. CMOS图像传感器基本原理
  19. 计算机键盘标注,电脑键盘上怎么打√和×
  20. C++使用模板重载vector的加减法实现矩阵向量加减法

热门文章

  1. mysql profile使用(转)
  2. 阅读软件怎么添加书源_相册视频制作软件怎么用?怎么添加滤镜?
  3. FPGA 串口中断_一个严谨的STM32串口DMA发送amp;接收(1.5Mbps波特率)机制
  4. centos php7 无法加载mysqli_Linux下安装PHP7+MySQL
  5. 村长叫你领书过年,送3本Python好书
  6. PowerDesigner--创建业务流程模型
  7. 以太坊上已有十个DeFi协议的锁仓量超过10亿美元
  8. SAP License:飘在SAP日子之二-售前的产生与发展
  9. 介绍一种策略分析师必备的解题技巧
  10. 日本語の勉強の日記 十七回