---------siwuxie095

 
 

 
 

 
 

(四)tokens=x,y,m-n 显示指定的列

 
 

tokens=x 只显示第
x 列

tokens=x,y,z 只显示第 x,y,z 列

tokens=m-n 只显示从 m 列到 n 列(m<n)

tokens=*
显示文本中的所有内容(此时,不管有没有用 delims 定义分隔符或定义了多少分隔符,文本的所有内容包括所有符号都会被显示出来)

 
 

 
 

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

 
 

 
 

代码:

@echo off

rem token 的1 和 2 之间的逗号必须为英文格式下的逗号

rem delims 的 = 后的冒号和
易经.txt 保持一致,为中文冒号

for /f "tokens=1,2 delims=:"
%%a in (易经.txt) do
echo
%%a %%b

pause>nul

 
 

sublime中:

 
 

 
 

运行一览:以冒号为分隔符,显示第一列和第二列内容,冒号不显示

 
 

 
 

 
 

 
 

注意格式细节:

1、"tokens=1,2"
中 1 和 2 数字之间,用的逗号必须是英文格式逗号

2、这里需要显示两列的内容,echo 后面就需要用多个变量符号 %%a


%%b,同样,如果需要显示三列内容,就必须这么写

echo %%a %%b %%c

 
 

echo
%%a %%b %%c

 
 

3、for /f "tokens=1,2 delims=:" %%a in (易经.txt) do echo %%a
%%b,

对于 in 前面用 %%a,则 echo 后面就必须以 %%a 变量开始,而且,后面的

变量必须以字母表顺序排列下去,否则无效

 
 

 
 

再如:

@echo off

rem token 的1 和 3 之间的逗号必须为英文格式下的逗号

rem delims 的 = 后的逗号和
易经.txt 保持一致,为中文逗号

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

pause>nul

 
 

sublime中:

 
 

 
 

运行一览:以逗号为分隔符,显示第一列和第三列的内容(其余

内容忽略),有些行没有第三列,就不显示

 
 

 
 

 
 

 
 

使用多个不同符号都作为分隔符:

@echo off

rem token 的1 和 3 之间的逗号必须为英文格式下的逗号

rem delims 的 = 后的冒号、逗号和
易经.txt 保持一致,为中文格式

for /f "tokens=1,3 delims=:,"
%%a in (易经.txt) do
echo
%%a %%b

pause>nul

 
 

sublime中:

 
 

 
 

运行一览:以冒号和引号作为分隔符,只显示第一列和第三列的内容,

作为分隔符的冒号和逗号以及其它内容都不予显示

 
 

 
 

 
 

 
 

再如:

@echo off

rem delims 的 = 后的冒号、逗号和
易经.txt 保持一致,为中文格式

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

pause>nul

 
 

运行一览:虽然用多个符号将文本分成更多的列,

但显示时没有指出显示哪些列,将只显示第一小

节(列)的内容

 
 

 
 

 
 

 
 

 
 

 
 

对于
"delims=:," 这个句子,已有冒号和逗号两个符号,当然

还可以添加任意多的符号都作为分隔符,例如
"delims=,。?;",

这里有逗号、句号、问号和分号四个符号都作为分隔符。

 
 

注意:第一个符号前面以及所有符号之间不能有空格,如果要空格

也作为分隔符,那么空格必须写在所有符号的最后面,当然,也可

以单独将空格作为分隔符
"delims= "

 
 

 
 

如:文本
静夜思.txt 的内容:

 
 

 
 

Delims=, 即定义逗号为分隔符,以此将诗句分成四个小列(或小节)

 
 

  

第一列

分隔符

第二列

分隔符

第三列

分隔符

第四列

第一行

床前明月光

疑是地上霜

举头望明月

低头思故乡

 
 

 
 

要用
for
将四句诗都显示到屏幕上,不需要任何参数即能实现:

@echo off

for /f %%i in (静夜思.txt) do
echo
%%i

pause>nul

 
 

运行一览:

 
 

 
 

 
 

 
 

如果没有任何参数的语句:

for /f %%i in (filename) do echo %%i

会忽略掉所有行的前导空格后将全部文本内容都显示出来

 
 

 
 

再如:将
易经.txt 改为:

 
 

 
 

代码:

@echo off

for /f %%e in (易经.txt) do
echo
%%e

pause>nul

 
 

运行一览:

 
 

 
 

 
 

若改为:

@echo off

for /f "tokens=1,3"
%%e in (易经.txt) do
echo
%%e %%f

pause>nul

 
 

运行一览:

 
 

 
 

 
 

 
 

这里没有使用 delim 进行分隔,而带有空格的行,空格后面的内容被忽

略了,原因就是默认情况下,即使没有用 delims 选项,for 也会以空格

作为分隔符,将空格后的内容屏蔽掉

 
 

 
 

使用 delims 的目的主要是通过切分字符串,获得可编辑的字符串

以便于进行下一步编辑

 
 

Delims 好比一把刀,文本信息就好比猪扒,使用 delims 这把刀将

文本这块猪扒切分成许多小块,这样吃起来就很方便

 

如果你想吃其中的某一块,直接用 tokens 这把刀叉提取即可

 
 

 
 

【made by siwuxie095】

  

for 续4的更多相关文章

  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. L188

    This is the view from the instrument deployment camera of InSight, America’s latest probe to Mars, w ...

  2. iOS-----使用AddressBook添加联系人

    使用AddressBook添加联系人 添加联系人的步骤如下: 1 创建ABAddressBookRef,这就得到了对地址簿的引用. 2 调用ABPersonCreate()函数创建一个空的ABReco ...

  3. BZOJ3212: Pku3468 A Simple Problem with Integers(线段树)

    3212: Pku3468 A Simple Problem with Integers Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 2530  So ...

  4. Properties集合小应用--限制用户对软件的使用次数

    我们可以注意到一些付费软件可以试用一定的次数,超过限制次数后,就必须到官网购买正版才能继续使用. 这里就简单地模拟一下这种效果的实现. * 需求:记录程序的启动次数,当启动次数超过3次后,要求使用者注 ...

  5. Linux的发行版之间的联系和区别

    转载:https://blog.csdn.net/suixin788/article/details/52555558 联系 Linux的内核源代码和Linux的应用程序都可以自由获得,因此很多公司组 ...

  6. .NET CORE微服务实践

    .NET CORE微服务实践 https://www.cnblogs.com/zengqinglei/p/9570343.html .NET CORE 实践部署架构图 实践源码:https://git ...

  7. [BZOJ5330][SDOI2018]反回文串

    luogu bzoj sol 枚举一个长度为\(n\)为回文串,它的所有循环位移都可以产生贡献. 但是这样算重了.重复的地方在于可能多个回文串循环同构,或者可能有的回文串经过小于\(n\)次循环位移后 ...

  8. redis的maxmemory与maxmemory-policy关系

    如果redis配置了maxmemory和maxmemory-policy策略,则当redis内存数据达到maxmemory时,会根据maxmemory-policy配置来淘汰内存数据,以避免OOM.r ...

  9. RK3288 红外遥控器增加自定义按键

    转载请注明出处:https://www.cnblogs.com/lialong1st/p/10071557.html CPU:RK3288 系统:Android 5.1 1.在 dts 中增加红外遥控 ...

  10. web常用测试点记录

    输入框 1.字符型输入框: 单行文本输入框:英文全角.英文半角.数字.空或者空格.特殊字符“~!@#¥%……&*?[]{}”,特别要注意单引号和&符号.如果禁止直接输入特殊字符时,使用 ...