for 续4
---------siwuxie095
(四)tokens=x,y,m-n 显示指定的列
|
tokens=x 只显示第 |
|
tokens=x,y,z 只显示第 x,y,z 列 |
|
tokens=m-n 只显示从 m 列到 n 列(m<n) |
|
tokens=* |
如:将
《易经
·
乾》
的开头,保存为
易经.txt,文本内容:

代码:
|
@echo off rem token 的1 和 2 之间的逗号必须为英文格式下的逗号 rem delims 的 = 后的冒号和 for /f "tokens=1,2 delims=:" pause>nul |
sublime中:

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

注意格式细节:
1、"tokens=1,2"
中 1 和 2 数字之间,用的逗号必须是英文格式逗号
2、这里需要显示两列的内容,echo 后面就需要用多个变量符号 %%a
和
%%b,同样,如果需要显示三列内容,就必须这么写
echo %%a %%b %%c
|
echo |
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 的 = 后的逗号和 for /f "tokens=1,3 delims=," pause>nul |
sublime中:

运行一览:以逗号为分隔符,显示第一列和第三列的内容(其余
内容忽略),有些行没有第三列,就不显示

使用多个不同符号都作为分隔符:
|
@echo off rem token 的1 和 3 之间的逗号必须为英文格式下的逗号 rem delims 的 = 后的冒号、逗号和 for /f "tokens=1,3 delims=:," pause>nul |
sublime中:

运行一览:以冒号和引号作为分隔符,只显示第一列和第三列的内容,
作为分隔符的冒号和逗号以及其它内容都不予显示

再如:
|
@echo off rem delims 的 = 后的冒号、逗号和 for /f "delims=:," pause>nul |
运行一览:虽然用多个符号将文本分成更多的列,
但显示时没有指出显示哪些列,将只显示第一小
节(列)的内容

对于
"delims=:," 这个句子,已有冒号和逗号两个符号,当然
还可以添加任意多的符号都作为分隔符,例如
"delims=,。?;",
这里有逗号、句号、问号和分号四个符号都作为分隔符。
注意:第一个符号前面以及所有符号之间不能有空格,如果要空格
也作为分隔符,那么空格必须写在所有符号的最后面,当然,也可
以单独将空格作为分隔符
"delims= "
如:文本
静夜思.txt 的内容:

Delims=, 即定义逗号为分隔符,以此将诗句分成四个小列(或小节)
|
|
第一列 |
分隔符 |
第二列 |
分隔符 |
第三列 |
分隔符 |
第四列 |
|
第一行 |
床前明月光 |
, |
疑是地上霜 |
, |
举头望明月 |
, |
低头思故乡 |
要用
for
将四句诗都显示到屏幕上,不需要任何参数即能实现:
|
@echo off for /f %%i in (静夜思.txt) do pause>nul |
运行一览:

如果没有任何参数的语句:
for /f %%i in (filename) do echo %%i
会忽略掉所有行的前导空格后将全部文本内容都显示出来
再如:将
易经.txt 改为:

代码:
|
@echo off for /f %%e in (易经.txt) do pause>nul |
运行一览:

若改为:
|
@echo off for /f "tokens=1,3" pause>nul |
运行一览:

这里没有使用 delim 进行分隔,而带有空格的行,空格后面的内容被忽
略了,原因就是默认情况下,即使没有用 delims 选项,for 也会以空格
作为分隔符,将空格后的内容屏蔽掉
使用 delims 的目的主要是通过切分字符串,获得可编辑的字符串
以便于进行下一步编辑
Delims 好比一把刀,文本信息就好比猪扒,使用 delims 这把刀将
文本这块猪扒切分成许多小块,这样吃起来就很方便
如果你想吃其中的某一块,直接用 tokens 这把刀叉提取即可
【made by siwuxie095】
for 续4的更多相关文章
- .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整(续)-使用配置文件动态注入
上次实现了依赖注入,但是web项目必须要引用业务逻辑层和数据存储层的实现,项目解耦并不完全:另一方面,要同时注入业务逻辑层和数据访问层,注入的服务直接写在Startup中显得非常臃肿.理想的方式是,w ...
- [.NET] C# 知识回顾 - 委托 delegate (续)
C# 知识回顾 - 委托 delegate (续) [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6046171.html 序 上篇<C# 知识回 ...
- iOS 开发者账号到期续费流程
1.登录developer.apple.com,查看到期时间 2.到期提醒通知,点击Renew Membership续费(一般提前一个月提醒续费) 3.个人开发者账号续费需要支付 688人民币/年(9 ...
- 微信公众号开发系列教程一(调试环境部署续:vs远程调试)
http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...
- CI-持续集成(1)-软件工业“流水线”概述
CI-持续集成(1)-软件工业“流水线”概述 1 概述 持续集成(Continuous integration)是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次, ...
- 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续3篇-导出时动态生成多Sheet EXCEL)
ExcelUtility 类库经过我(梦在旅途)近期不断的优化与新增功能,现已基本趋向稳定,功能上也基本可以满足绝大部份的EXCEL导出需求,该类库已在我们公司大型ERP系统全面使用,效果不错,今天应 ...
- [译]Godot系列教程三 - 场景实例化(续)
场景实例化(续) 要点 场景实例化带来很多便利的用法,总体来说有: 将场景细分,更便于管理 相对于某些引擎中的Prefab组件更灵活,并且在许多方面更强大 是一种设计更复杂的游戏流程甚至UI的方式 这 ...
- 【小白的CFD之旅】13 敲门实例【续3】
接上文[小白的CFD之旅]12 敲门实例[续2] 4 Results4.1 计算监测图形4.2 Graphics4.2.1 壁面温度分布4.2.2 创建截面4.2.3 显示截面物理量4.2.4 Pat ...
- 【小白的CFD之旅】12 敲门实例【续2】
接上文[小白的CFD之旅]敲门实例[续] 主要内容 3 Solution3.1 Solution Methods3.2 Solution Controls3.3 Monitors3.4 Report ...
- jquery实现简单瀑布流布局(续):图片懒加载
# jquery实现简单瀑布流布局(续):图片懒加载 这篇文章是jquery实现简单瀑布流布局思想的小小扩展.代码基于前作的代码继续完善. 图片懒加载就是符合某些条件时才触发图片的加载.最常见的具体表 ...
随机推荐
- SSH整合报错:Unable to instantiate Action, testAction, defined for 'test' in namespace '/'testAction
报错如下: Struts Problem Report Struts has detected an unhandled exception: Messages: testAction Unable ...
- WIN7下用笔记本创建无线网
系统要求:WIN7 硬件要求:拥有无线网卡 网络要求:已经连接internet 1.启用并设定虚拟Wifi网卡:运行以下命令启用虚拟无线网卡(相当于打开路由器): netsh wlan set h ...
- Microsoft SQL Server Express各版本对比
Microsoft® SQL Server® 2016 Express 支持的操作系统 Windows 10 , Windows 8, Windows Server 2012, Windows Ser ...
- http的报文结构和状态码的含义
HTTP响应报文解剖 响应报文结构 HTTP的响应报文也由三部分组成(响应行+响应头+响应体): 以下是一个实际的HTTP响应报文: ①报文协议及版本: ②状态码及状态描述: ③响应报文头,也是由多个 ...
- test20181024 nan
题意 nan 问题描述 我们有一个序列,现在他里面有三个数1,2,2.我们从第三个数开始考虑: 第三个数是2,所以我们在序列后面写2个3,变成1,2,2,3,3. 第四个数是3,所以我们在序列后面写3 ...
- HTML5 Geolocation用来定位用户的位置。
HTML5 Geolocation用来定位用户的位置. 定位用户的位置 HTMl5 Geolocation API用来得到用户的地理位置. 由于这个可能和个人隐私相关.除非用户同意否则不能使用. 浏览 ...
- Jmeter二次开发之代码环境搭建(QQ交流群:577439379)
一.创建项目 1. 分别下载apache3.1 binaries和source两个压缩包,前者为release版本,后者为jmeter最新的源码,下载地址:http://jmeter.apache.o ...
- java的static研究
(1)static关键字:可以用于修饰属性.方法和类. 1,属性:无论一个类生成了多少个对象,所有这些对象共同使用唯一的一份静态的成员变量(不能修饰临时变量 2,方法:static修饰的方法叫做静态, ...
- Mysql 创建外键 1005 err 150
要看错误的详细提示,可以使用命令:(在MySQL Manual里搜索“errno 150”时找到) SHOW ENGINE INNODB STATUS; //针对用INNODB存储方式的数据库 ...
- Windows应用程序的VC链接器设置
Windows应用程序的VC链接器设置 /*转载请注明出自 听风独奏 www.GbcDbj.com */ Windows应用程序分为GUI(Graphical User Interface)和CUI( ...