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实现简单瀑布流布局思想的小小扩展.代码基于前作的代码继续完善. 图片懒加载就是符合某些条件时才触发图片的加载.最常见的具体表 ...
随机推荐
- PostgreSQL逻辑复制槽
Schema | Name | Result data type | Argument data types | Type ------------+------------------------- ...
- AI产业将更凸显个人英雄主义 周志华老师的观点是如此的有深度
今天无意间在网上看的了一则推送,<周志华:AI产业将更凸显个人英雄主义> http://tech.163.com/18/0601/13/DJ7J39US00098IEO.html 摘录一些 ...
- OLEDB操作Excel
使用OLEDB操作Excel 的方法 OleDbConnection conn = null; try { //fileName ...
- C# Socket笔记
看到这个题目,是不是很眼熟?在博客园里搜下,保证会发现关于这个东东的文章实在是太多了~~~真得是没有写得必要,而且我也有点懒得去琢磨字句.(看到这,肯定得来个转折的了,不然就看不到下文了,不是吗)但是 ...
- Visual Studio 2005 自带单元测试
一 单元测试简介 单元测试是代码正确性验证的最重要的工具,也是系统测试当中最重要的环节.也是唯一需要编写代码才能进行测试的一种测试方法.在标准的开发过程中,单元测试的代码与实际程序的代码具有同等的 ...
- Linux中epoll+线程池实现高并发
服务器并发模型通常可分为单线程和多线程模型,这里的线程通常是指“I/O线程”,即负责I/O操作,协调分配任务的“管理线程”,而实际的请求和任务通常交由所谓“工作者线程”处理.通常多线程模型下,每个线程 ...
- Java9的新特性
2017.9.21延期了好几次的Java9正式发布,在人工智能的时代,java还能不能持续辉煌是个问题.看看java9的新特性没什么让自己想升级的意愿,因为要么时一些特性用不到,要么时已经有其它方案代 ...
- linux中内核延时函数 (转)
第一类延时函数原型是:(忙等) void ndelay(unsigned long nsecs); void udelay(unsigned long usecs); void mdelay(unsi ...
- vim自定义配置之常规设置
vimConfig/plugin/general-operation.vim "快速关闭 map <S-Q> :q<CR>:q<CR>:q<CR&g ...
- Android Studio使用JDBC远程连接mysql的注意事项(附示例)
JDBC为java程序访问各种类型的关系型数据库提供了统一的接口,用户不必针对不同数据库写出不同的代码,但是使用JDBC必须得下载相应的驱动,比如我这里是要连接mysql,于是就到mysql官网去下载 ...