2016年10月29日 18:40:44 星期六

场景:

从foxmail里导出的文件里取出需要的内容, 放入到另一个文件中, 并替换相应的字符为分号, 方便excel直接打开

注意:

1. rem: 为注释当前行

2. ^: 为转义符号

3. %%a: for循环中变量赋值的写法

4. !a!: 程序执行过程中变量的赋值会延迟, 用感叹号以及第二行的 setlocal 指令来消除这种延迟

5. !a:x=y!: 字符串替换的写法, 将变量a中的x替换为y, 如果x是特殊字符需要用^转义, 如果不写y就是将x替换为空

6. 直接输出并追加到文件xxx.log中用文本编辑器打开会有一些乱码, 但是汉字大都没问题,

如果直接用Excel打开中文就可能出现乱码

脚本源代码:

@echo off
setlocal EnableDelayedExpansion
rem echo %cd%for %%s in (*.eml) do (rem findstr  "log_user_trade" %%s >> stat.logecho %%sfindstr  "log_user_trade" %%s >tmp.log rem 匹配出需要的行set /p line=<tmp.log rem 放入临时文件中set a=!line:^^=;! rem 替换字符,将^替换为; ^在bat脚本中是转义字符的意思set b=!a:^|=;!set c=!b:^@@=;!set d=!c:^&quot;=! rem 将字符串&quot;替换为空set e=!d:^&gt;=!set f=!e:^<td^>=!echo !f:^</td^>=! >> stat.log
)
echo complete
pause

批处理脚本, 读取文件并字符串替换相关推荐

  1. 使用node读取文件内容并且替换文件中的内容

    背景: 因项目上安全编码要求,需要对angular编译后的文件中的特殊字符进行处理. 解决方案: 1.使用shell脚本(没试过,对shell不熟悉,理论上可行): 2.使用Python: 3.使用n ...

  2. java读取文件到字符串_Java读取文件到字符串

    java读取文件到字符串 Sometimes while working with files, we need to read the file to String in Java. Today w ...

  3. shell脚本读取文件夹内文件名称

    shell脚本读取文件夹内文件名称代码如下: 1.配置文件: readFilePath=/wocloud/soft/tomcat/selfYearAppraiseTomcat/selfYearAppr ...

  4. Java读取文件为字符串方法

    Java读取文件为字符串方法 方法一:使用Files工具类 java.nio.file.Files工具类,不依赖三方组件 Path.of方法在jdk11才支持 public String fileTo ...

  5. linux 读取命令行输入参数,shell脚本读取文件+读取命令行参数+读取标准输入+变量赋值+输出到文件...

    读取url_list文件批量下载网页 url_list http://www.tianyancha.com/company/2412078287 http://www.4399.com/special ...

  6. scala函数式变程,curry,读取文件,字符串插值,隐式转换,模式匹配

    文章目录 scala函数式变程 scala读取文件 字符串插值 scala隐式转换 模式匹配,偏函数,try catch scala函数式变程 object AdFunctionApp {def ma ...

  7. php读取文件和字符串编码

    1.检查文件或目录是否存在 •bool file_exists  ( string $filename  ) 如果由 filename 指定的文件或目录存在则返回 TRUE ,否则返回 FALSE . ...

  8. 批处理——读写文件、字符串替换

    Bash语言移植到了windows dos,所以很多语法和linux shell是一样的. 比如,文件读写用<和>即可,这种流的概念就和linux shell一样. 代码: @echo o ...

  9. python 字符串分割_python中分割字符串split切割并选择输出 逐行读取文件后字符串拼接...

    字符串根据分隔符切割后输出,一下面 #!/usr/bin/python # -*- coding: utf-8 -*- str="abc,123 efg,567" #以空行分割后输 ...

最新文章

  1. lvm快照的创建恢复
  2. 如何删除webstrom中生成的.idea wrokspace
  3. legend2---开发日志16
  4. vb6编写dll读取dat文件_【STM32Cube_15】使用硬件I2C读取温湿度传感器数据(SHT30)...
  5. GDI+用PNG图片做半透明异型窗口
  6. vuerouter传参方式_VUE Router学习原理(一)
  7. IT兄弟连 JavaWeb教程 Servlet线程安全问题
  8. CH24C 逃不掉的路
  9. STC学习:振动传感器
  10. java可以编辑 cad吗_MiniCAD 简单的java画图,能画圆、直线、矩形,还能移动,修改颜色等 Develop 238万源代码下载- www.pudn.com...
  11. PS羽化N个像素后填充淡绿色
  12. NLP推理与语义相似度数据集
  13. PMCAFF微课17期 - 教你如何用数据玩转移动互联网APP运营(笔记下载)
  14. UEFI 基础教程 (十七) - SMM的简单使用
  15. 投食Reactelectron脚手架
  16. Spring Boot 3 新特性及快速使用示例
  17. PartTime_网址_内
  18. vulnhub Potato: 1
  19. 0.6闪光灯二进制编码通信android源码手电筒手机密码器频率控制 as4.0版 密码123456 支持所有android2.2到10及以上系统 Android7.0以前和7.0以后开启闪光灯
  20. 快速导入Android项目

热门文章

  1. Boost:验证atomic <>没有对void指针提供算术运算
  2. ITK:区域最大图像过滤器
  3. DCMTK:创建,写入和读取二进制细分对象
  4. VTK:可视化算法之Hello
  5. VTK:PolyData之SmoothPolyDataFilter
  6. VTK:几何对象之ParametricKuen
  7. Qt Creator设置CMake
  8. C++ edit distances最小编辑距离(附完整源码)
  9. 经典C语言程序100例之八九
  10. C++设计模试之S状态模式