--------siwuxie095

 
 

 
 

 
 

 
 

(三)delims=xxx

(xxx 是被定义的符号,该符号在文本中存在,将作为分隔符)

 
 

定义分隔符(用于切分文本)

 
 

 
 

格式:

FOR /F "Delims=符号" %%I IN (Command1) DO Command2

 
 

 
 

用法:

1、以文本中的标点符号来定义分隔符

2、被定义为分隔符的标点符号将被忽略(隐藏)。没有使用 tokens

定义显示,默认情况下只显示第一列内容

3、被定义的分隔符前后内容将变成独立的小节(或列)

4、for 默认以空格作分隔符,当没有写
"delims=",就默认以空格分隔

5、分隔符可以是一个,也可以是多个

6、用 delims 定义多个分隔符时,分隔符之间不能有空格。假如要包含

空格,空格不能居于所有符号之前或中间,必须放在最后

7、 我们写的代码为
"delims=",即有写 delims 参数 ,但没指明什么符

号作为分隔符,那么程序将认为文本没有分隔符,所有内容都会被显示

 
 

 
 

 
 

有人说
"delims="
这个句子,在某些情况下,程序会将等号后面的双引号

定义成了分隔符,从而没有达到预期的效果。于是,有些人将
"delims="

代码改写为"delims==",将等号作为分隔符。经实际测试,还没发现

"delims="
会将双引号定义成分隔符,所以,不要采用
"delims=="
这种

格式。假设真的有程序发生错乱,要定义的分隔符的最佳选择也不是等号,

而是后引号 "` ",此符号在
Esc 键下面,非常罕见 ,将它定义为分隔符就

等于定义没有任何符号为分隔符

 
 

 
 

 
 

分隔符和标点符号的联系和区别:

 
 

分隔符是用 "delims= "
定义了的文本中的符号。文本中的符号,只要

没有被定义过,就不是分隔符。分隔符需要定义,用 "delims= "
来定义,

定义中的符号都来自文本。

 
 

 
 

要弄清分节、分列。把每行两个分隔符之间的文字内容称为小节、列。

注意 :是分隔符之间,而非文中标点符号之间

 
 

 
 

 
 

如:将
《易经
·
乾》
的开头,保存为
易经.txt,文本内容:

 
 

 
 

 
 

做实验:

如果使用 Delims 来定义分隔符,可以使用原文中的冒号 (:),

写法是 "Delims=:",冒号作为分隔符后,冒号前后的内容被分成

两个小节,列表如下:

 
 

  

第一小节

分隔符

第二小节

第一行

元,亨,利,贞。

第二行

初九

潜龙,勿用。

第三行

九二

见龙再田,利见大人。

第四行

九三

君子终日乾乾,夕惕若,厉无咎。

第五行

九四

或跃在渊,无咎。

第六行

九五

飞龙在天,利见大人。

第七行

上九

亢龙有悔。

第八行

用九

见群龙无首,吉。

 
 

备注:默认只显示第一列(即第一小节),默认忽略(屏蔽)分隔符,

默认忽略(屏蔽)第一个分隔符后面的内容

 
 

 
 

代码:

@echo off

rem 分隔符的中英文要对应,这里是中文冒号

for /f "delims=:"
%%a in (易经.txt) do
echo
%%a

pause>nul

 
 

sublime中:

 
 

 
 

运行一览:因为没有定义要显示的列,这里只显示第一小节(列)

的内容,默认情况下忽略第一个分隔符(冒号)及其后面的内容

 
 

 
 

 
 

 
 

冒号改为逗号:

@echo off

rem 分隔符的中英文要对应,这里是中文逗号

for /f "delims=,"
%%a in (易经.txt) do
echo
%%a

pause>nul

 
 

sublime中:

 
 

 
 

运行一览:第一个逗号及其后面的所有内容都没有显示出来

 
 

 
 

 
 

 
 

 
 

再如:

@echo off

rem 等号 = 后面直接由引号引起,即没有分隔符

for /f "delims="
%%a in ("Hello "siwuxie095" World") do
echo
%%a

pause>nul

 
 

sublime中:

 
 

 
 

运行一览:delims 写出来了,但没指明什么符号是分隔符,计算机

认为字符串
"Hello "siwuxie095" World"
没有分隔符,显示第一列

即显示所有内容

 
 

 
 

 
 

 
 

【made by siwuxie095】

 
 

 
 

for 续3的更多相关文章

  1. .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整(续)-使用配置文件动态注入

    上次实现了依赖注入,但是web项目必须要引用业务逻辑层和数据存储层的实现,项目解耦并不完全:另一方面,要同时注入业务逻辑层和数据访问层,注入的服务直接写在Startup中显得非常臃肿.理想的方式是,w ...

  2. [.NET] C# 知识回顾 - 委托 delegate (续)

    C# 知识回顾 - 委托 delegate (续) [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6046171.html 序 上篇<C# 知识回 ...

  3. iOS 开发者账号到期续费流程

    1.登录developer.apple.com,查看到期时间 2.到期提醒通知,点击Renew Membership续费(一般提前一个月提醒续费) 3.个人开发者账号续费需要支付 688人民币/年(9 ...

  4. 微信公众号开发系列教程一(调试环境部署续:vs远程调试)

    http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...

  5. CI-持续集成(1)-软件工业“流水线”概述

    CI-持续集成(1)-软件工业“流水线”概述 1   概述 持续集成(Continuous integration)是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次, ...

  6. 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续3篇-导出时动态生成多Sheet EXCEL)

    ExcelUtility 类库经过我(梦在旅途)近期不断的优化与新增功能,现已基本趋向稳定,功能上也基本可以满足绝大部份的EXCEL导出需求,该类库已在我们公司大型ERP系统全面使用,效果不错,今天应 ...

  7. [译]Godot系列教程三 - 场景实例化(续)

    场景实例化(续) 要点 场景实例化带来很多便利的用法,总体来说有: 将场景细分,更便于管理 相对于某些引擎中的Prefab组件更灵活,并且在许多方面更强大 是一种设计更复杂的游戏流程甚至UI的方式 这 ...

  8. 【小白的CFD之旅】13 敲门实例【续3】

    接上文[小白的CFD之旅]12 敲门实例[续2] 4 Results4.1 计算监测图形4.2 Graphics4.2.1 壁面温度分布4.2.2 创建截面4.2.3 显示截面物理量4.2.4 Pat ...

  9. 【小白的CFD之旅】12 敲门实例【续2】

    接上文[小白的CFD之旅]敲门实例[续] 主要内容 3 Solution3.1 Solution Methods3.2 Solution Controls3.3 Monitors3.4 Report ...

  10. jquery实现简单瀑布流布局(续):图片懒加载

    # jquery实现简单瀑布流布局(续):图片懒加载 这篇文章是jquery实现简单瀑布流布局思想的小小扩展.代码基于前作的代码继续完善. 图片懒加载就是符合某些条件时才触发图片的加载.最常见的具体表 ...

随机推荐

  1. 关于C#引用dll动态链接库文件的注释问题

    1.dll动态库文件项目生成属性中要勾选"XML文档文件" 注意:1).要选中项目,查看项目属性,选中解决方案是找不到的.2).XML文件的名字不要修改. 2.添加引用时XML文件 ...

  2. Winform开发之DataGridView的增删改

    DataGridView是一个非常强大的控件,用法很多.这里介绍一个简单的增删改例子. 贴效果图 右侧输入学生信息点击新增,将数据增加到数据库,并且加载到datagridview中,点击选择某条数据修 ...

  3. java并发编程之volatile

    Java语言规范第三版中对volatile的定义如下:Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量. 了解volatile关键字之 ...

  4. Multiple Object Tracking using K-Shortest Paths Optimization简要

    参考文献:Multiple Object Tracking using K-Shortest Paths Optimization 核心步骤: 两步:一.detection 二.link detect ...

  5. [QT]加快qt编译:设置默认多核编译qt

    使用环境:win7 + QT Creator 4.2.1 + QT5.8 + MinGW5.3.0 32bit 设置默认多核编译qt  来源:http://stackoverflow.com/ques ...

  6. asp.net core microservices 架构之分布式自动计算(三)-kafka日志同步至elasticsearch和kibana展示

    一 kafka consumer准备 前面的章节进行了分布式job的自动计算的概念讲解以及实践.上次分布式日志说过日志写进kafka,是需要进行处理,以便合理的进行展示,分布式日志的量和我们对日志的重 ...

  7. clamav完整查杀linux病毒实战(转)

    开篇前言 Linux服务器一直给我们的印象是安全.稳定.可靠,性能卓越.由于一来Linux本身的安全机制,Linux上的病毒.木马较少,二则由于宣称Linux是最安全的操作系统,导致很多人对Linux ...

  8. String的不变性到final在java中用法

    final在Java语言里面啥意思 final修饰一个类,那么这个类就是不可继承.string就是一个非常有名的被final修饰的类,不过他的更加有名的是“不可被修改”. 究竟什么是不可改变?stri ...

  9. CentOS7.2 安装redis 3.0.6集群

    1.环境确认 a.系统版本查看 [hadoop@p168 ~]$ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)  b.安装依 ...

  10. 汇编_指令_IRET

    IRET(interrupt return)中断返回,中断服务程序的最后一条指令.   汇编指令IRET [指令格式]IRET   [指令功能]IRET(interrupt return)中断返回,中 ...