目录

  • 显示文本内容
  • 字符串截取
  • 截取指点段字符串

通常,我们使用批处理命令来处理文本,而解析文本主要使用的就是for /f,通过几个常见使用场景的例子,来感受for /f的使用方式吧。

显示文本内容

描述:将同一目录下的test.txt的内容全部显示出来。

test.txt内容如下:
111
222
333
@echo off
for /f %%i in (test.txt) do echo %%i & pause
pause

说明:运行这段代码,可以发现,每次输出一行后需要按任意键后才输出下一行,也就是说,for /f是在逐行解析文本内容的。

字符串截取

描述:以,为分隔符,截取第一个,之前的内容。

test.txt内容如下:
1,1,1
2,2,2
3,3,3
@echo off
for /f "delims=," %%i in (test.txt) do echo %%i
pause

说明:运行可以发现,每行输出的内容里第一个,及其之后的内容不见了,即提取了每一行第一个分隔符之前的字符串内容,分隔符就是通过开关delims设置的如有多个分隔符都写出来即可"delims=,.",即一次可以指定多个分隔符,如果没有设置,那么分隔符默认是空格和Tab键的。

截取指点段字符串

描述:以,为分隔符,取分割后的第三段字符串。

test.txt内容如下:
11,22,33,44,55
@echo off
for /f "delims=, tokens=3" %%i in (test.txt) do echo %%i
pause

说明:运行这段代码,会输出33,也就是第三段字符串,这里的tokens就是表示提取哪一段分割段的,如果要提取多段字符串,只要改成这样既可:

@echo off
for /f "delims=, tokens=2,5" %%i in (test.txt) do echo %%i %%j
pause

说明:运行这段代码,输出为22 55,如果tokens指定了多个数字,for和in之间的形式变量为%%i,那么第一个数字2指代内容用%%i来表示,第二个数字5指代的内容用%%j来表示…如果这里的%%i换成%%a,那么第二个数字5指代的内容就要用%%b来表示,如果这里的%%i换成%%x,那么第二个数字5指代的内容就要用%%y来表示。
tokens中如果数字连续,比如"tokens=1,3,4,5,6",等价于"tokens=1,3-6"。

批处理之for /f相关推荐

  1. 批处理之 for /f 中的delims和tokens

    在For命令语踞饽参数F中,最难理解的就是Delims和Tokens两个选项,本文简单的做一个比较和总拮. "For /f"常用来解析文本,读取字符串.分工上,delims负责切分 ...

  2. DOS - 批处理之 for /f 中的 delims 和 tokens

    前言 今天在对windows进行提权之前的系统信息收集的时候,需要使用到一条批处理语句把特定部分的内容从一个txt的文本当中提取出来:该条语句是如下: for /f "tokens=2,3 ...

  3. 批处理之 for/f 详解

    含有/F的for 格式: FOR /F ["options"] %%i IN (file) DO command FOR /F ["options"] %%i ...

  4. Bat 批处理之 for/f 详解

    含有/F的for 格式: FOR /F ["options"] %%i IN (file) DO command FOR /F ["options"] %%i ...

  5. 批处理命令 for /F 参数命令

  6. Win下批处理获取系统版本号

    方式1: @echo off clsver | find "4.0." > NUL && goto win95 ver | find "4.10.& ...

  7. jenkins自动化工具使用教程(转)

    自动化构建.测试.部署.代码检测越来越重要.主要有一下几点原因 企业做大,项目变多,多端支持(web,h5,小程序等) 微服务提倡高内聚低耦合,项目因拆分变多 DevOps自动化运维流行 集群化,高可 ...

  8. 经常使用命令 echo、@、call、pause、rem

    经常使用命令 echo.@.call.pause.rem(小技巧:用::取代rem)是批处理文件最经常使用的几个命令,我们就从他们開始学起. 首先, @ 不是一个命令, 而是DOS 批处理的一个特殊标 ...

  9. Linux—任务计划

    1.周期性任务计划: 管理系统的过程中,我们并不是每次都直接执行脚本或者命令,有时候需要让脚本.命令以及系统等在指定的时间按照我们的意愿执行我们设定好的脚本或者命令,这时候就需要使用到Linux任务计 ...

  10. 如何用NANT+FxCop 并生成文档规范检测结果?

    大家都知道在NAnt中调用FxCop用的是 <EXEC> TASK  可是在 exec   的program 参数中加入命令的参数就不行了.如: <?xml version=&quo ...

最新文章

  1. Eureka VS Zookeeper
  2. 美国伊利诺伊大学香槟分校计算机专业,伊利诺伊大学香槟分校计算机科学排名第7(2020年TFE美国排名)...
  3. 高性能 HTML5 地铁样式的应用程序中的内容
  4. 【嵌入式系统】STM32串口通信的四种方法(基于RTOS)
  5. c语言 div ldiv_C ++中带有示例的ldiv()函数
  6. TikTok 与 Oracle 的交易将开创两个危险的先例
  7. hdu5141 线段树
  8. 用VMWARE学习组网(二)
  9. jsonp和ajax的区别,dataType jsonp和JSON之间的区别
  10. http请求POST和GET调用接口以及反射动态调用Webservices类
  11. java自动化高频面试题
  12. 【微信hook】微信机器人之PC微信hook
  13. 遗传算法框架deap简介与使用
  14. 安卓前端和python后端_android – 在移动应用程序中结合html前端和python“后端”...
  15. oracle 12988,ORA-12988: cannot drop column from table owned by SYS
  16. 高级计算机软考科目,软考高级中哪个科目好考
  17. 如何在不同的窗口中打开多个Excel
  18. wilf tree java_伴读 | 牛津树【2-9】New Trees
  19. spark on yarn falling back to uploading libraries under SPARK_HOME.
  20. Cryptohack-Backpack Cryptography

热门文章

  1. java excel 数组公式_Excel数组公式怎么使用? Excel数组公式计算的实例教程
  2. ArcGIS导出shape地图边界点数据
  3. 【Matlab】求解函数导数
  4. EasyRecovery2022电脑硬盘磁盘数据修复教程
  5. html5怎么设置年月日选择框,HTML5文件选择框(各种类型)
  6. 0805封装尺寸/0402封装尺寸/0603封装尺寸/1206封装尺寸
  7. 基金业绩的python分析_DFQ2018绩效归因与基金投资分析工具.pdf
  8. 用HTML简单制作一个网页
  9. rtklib-RINEX文件读取-rinex.c解析(二)
  10. Java URI和URL