--------siwuxie095

 
 

 
 

 
 

 
 

/f

是四个参数中最复杂的一个,非常强大,不过其复杂性

令人望而生畏

 
 

/f 用途:

能够对字符串进行操作,也能够对命令的返回值进行操作,

还可以访问硬盘上的 ASCII 码文件,比如 txt 文档等

 
 

常用于文本信息编辑,如查询、提取、替换等

 
 

 
 

格式:

 
 

FOR /F ["options"] %%variable IN (file-set) DO command
[command-parameters] 文件名

file-set 不用引号(如果文件名含有空格时,就需要借助 usebackq 了)

 
 

FOR /F ["options"] %%variable IN ("string") DO command
[command-parameters] 字符串

string 要用双引号

 
 

FOR /F ["options"] %%variable IN ('command') DO command
[command-parameters] 命令

command 要用单引号

 
 

注意:带引号的字符串
"options"
包括一个或多个指定不同解析选项的关键字:

eol=c、skip=n、delims=xxx、tokens=x,y,m-n、usebackq

 
 

 
 

如:当前目录下有一个
test.txt
文件(格式改为ANSI,否则乱码)

@echo off

for /f %%i in (test.txt) do
echo
%%i

pause

 
 

运行一览:一下子显示文件的所有内容

 
 

 
 

 
 

如果要逐行显示:

@echo off

for /f %%i in (test.txt) do
echo
%%i & pause>nul

pause

 
 

 
 

 
 

 
 

解析选项关键字详解:

(一)eol=c 忽略(隐藏、屏蔽)所有以字符是 C 开头的行

格式:

FOR /F "eol=c" %%I IN (Command1) DO Command2

 
 

"指定行尾字符(仅一个字符)",来源于帮助文件,尚不清楚其含义

 
 

eol=

默认情况下屏蔽冒号开头的行(无论是中文冒号还是英文冒号,都会被屏蔽掉)

但冒号本身不会被屏蔽,还是会被显示出来

 
 

注意:这里被处理的文本里的冒号和后面的文字字符必须有空格隔开,

否则无法对文本进行屏蔽

 
 

 
 

 
 

 
 

eol=c 格式:

 
 

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

 
 

 
 

 
 

要略掉第三行,如下:

@echo off

for /f "eol=举"
%%i in (静夜思.txt) do
echo
%%i

pause>nul

 
 

sublime中:

 
 

 
 

运行一览:

 
 

 
 

 
 

上面的
test.bat 和 静夜思.txt 实际上在同一目录下,所以

没有指出
静夜思.txt 的路径,test.bat 自动在当前目录下

搜索,若没有
静夜思.txt,显示找不到文件

 
 


test.bat 在F盘,静夜思.txt 在D盘,则需要指明路径:

@echo off

for /f "eol=举"
%%i in (D:\静夜思.txt) do
echo
%%i

pause >nul

 
 

 
 

 
 

eol=c 格式,不能屏蔽以空格开头的行

 
 

如:文本
春夜喜雨.txt 的内容:

 
 

 
 

 
 

代码:

@echo off

rem 等号 = 后面一个空格

for /f "eol= "
%%i in (春夜喜雨.txt) do
echo
%%i

pause>nul

 
 

 
 

sublime中:

 
 

 
 

运行一览:将原文本前导空格都屏蔽掉,其他全部输出

 
 

 
 

 
 

 
 

eol=c 格式,空格不在行首,能屏蔽掉该行空格以后的内容

 
 

如:文本
念奴娇.txt 的内容:

 
 

 
 

代码:

@echo off

rem 等号 = 后面一个空格

for /f "eol= "
%%i in (念奴娇.txt) do
echo
%%i

pause>nul

 
 

sublime中:

 
 

 
 

运行一览:所有空格以后的内容都被屏蔽掉

 
 

 
 

 
 

 
 

 
 

eol=c 格式, c 字符不是某一行的开头字符,就不能屏蔽掉该行

 
 

同样使用上面的
春夜喜雨.txt:

@echo off

for /f "eol=风"
%%i in (春夜喜雨.txt) do
echo
%%i

pause>nul

 
 

运行一览:将原文本前导空格都屏蔽掉,其他全部输出

 
 

 
 

 
 

 
 

 
 

eol= 格式

 
 

如:春夜喜雨.txt 改为:

(加的冒号中英文格式均可,和后面的文字之间要隔空格,

否则无法屏蔽)

 
 

 
 

 
 

代码:

@echo off

rem 等号 = 后面无空格,直接用引号

for /f "eol="
%%i in (春夜喜雨.txt) do
echo
%%i

pause>nul

 
 

sublime中:

 
 

 
 

运行一览:屏蔽并没有屏蔽冒号本身

 
 

 
 

 
 

若要屏蔽冒号:

@echo off

rem 等号 = 后面加一个冒号,格式和诗中所加冒号一致

rem 这里均采用的是中文冒号

for /f "eol=:"
%%i in (春夜喜雨.txt) do
echo
%%i

pause>nul

 
 

sublime中:

 
 

 
 

运行一览:所有以冒号开头的行都被屏蔽掉,包括冒号本身

 
 

 
 

 
 

 
 

 
 

【made by siwuxie095】

 
 

 
 

for 续1的更多相关文章

  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. 1029:Ignatius and the Princess IV

    题目大意是找出数组中出现次数超过一半的数. 基本思想:每遇到两个不同的数就消掉,设一个计数器就行了.   存出现次数最大的那个数的出现次数. 当下一个数与当前的数不同时,计数器减一,相同,则加一. 实 ...

  2. mongodb启用Profiling定位问题

    建议使用方法三,最简单且容易查看 一:如果mongodb已经运行了很长时间,此时查看mongod.log很大,没法打开查看相应信息 #ps -ef|grep mongod 找到相应的mongod的进程 ...

  3. Hive之 Hql语法解析

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ...

  4. bzoj 3144 [Hnoi2013]切糕——最小割

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3144 一根纵轴上切一个点,可以把一根纵轴上的点连成一串来体现.自己的写法是每个点连向前一个点 ...

  5. Dubbo 基础教程

    原文地址:Dubbo 基础教程 博客地址:http://www.extlight.com 一.前言 当服务越来越多时,容量的评估,小服务资源的浪费等问题逐渐显现,此时需要增加一个调度中心基于访问压力实 ...

  6. windows server 2012 AD 域和站点部署系列

    http://blog.csdn.net/ronsarah/article/category/1495599 http://blog.csdn.net/david_520042/article/cat ...

  7. CentOS之NTP服务器配置

    本文使用CentOS 6.5作为搭建环境 一.服务器端配置 1.安装所需软件包 yum -y install ntp ntpdate---------------------------------- ...

  8. 对widget使用WM_SetCallback

    当我们对widget使用WM_SetCallback拦截并处理一些消息,可能需要在处理完某些消息后继续调用该Widget原来的callback,典型的例子是WM_DELETE,因为几乎所有widget ...

  9. Linux 开发环境搭建与使用——SlickEdit 的安装与配置

    SlickEdit 的介绍 vim 是公认很好用很完美,但是对新手来说,上手毕竟不是很容易.Windows 下程序员很多都很喜欢Source Insight 这个工具来看代码,各种语法高亮看着很舒服. ...

  10. 基于http协议实现RPC远程调用

    今天简单说一下基本Http协议来实现RPC框架~ 基于Http协议实现RPC框架: 优点: 1.简单.实用.开发方便 缺点: 1.性能不是很稳定,在海量数据时,完全顶不住,容易宕机 2.因为不是走的注 ...