使用bat批量把txt中想要的信息存放到excel

您所在的位置:网站首页 excel怎么写文本内容 使用bat批量把txt中想要的信息存放到excel

使用bat批量把txt中想要的信息存放到excel

2024-07-15 18:39| 来源: 网络整理| 查看: 265

最近喵仙子有个需求,需要抽取大量.log文件中的有效信息到excel,刚开始我用mapreduce给他做了一份,不过他有点蠢配不了环境,于是乎我研究了下bat,终于给他整了个好方法,请看下文。

需求 需要从log中抽取两列数据到excel中。

本西芙没了解过bat语法,所以查了一下,通过结合这两篇解答完成bat命令。 1、实现了按照空格批处理分割txt数据,存储excel https://zhidao.baidu.com/question/1770548208106936980.html

@echo off rem 保存为bat文件跟txt文件放一起运行 md "结果\" 2>nul for /f "delims=" %%a in ('dir /a-d/b *.txt') do ( setlocal EnableDelayedExpansion (for /f "delims=" %%b in ('type "%%a"') do ( set "str=%%b" echo;!str: =,! ))>"结果\%%~na.csv" Endlocal ) pause

2、批处理分割字符串 https://blog.csdn.net/zhju85126com/article/details/46649961

@echo off set str=100x200x300y400y500x600y700 for /f "tokens=1,3-5,* delims=x|y" %%a in ("%str%") do ( set c1=%%a set c3=%%b set c4=%%c set c5=%%d set c6=%%e ) echo %c1%, %c3%, %c4%, %c5%, %c6% pause rem 输出结果为输出结果为:100, 300, 400, 500, 600y700。其中tokens=1,3-5,*表示提取第1、3至5列,同时把第5列后所有剩余字符串作为第6列,一个输出了5个变量,也可以写作tokens=1,3,4,5,*。

最终我所加工的代码,其中代码中tokens=1,2是按照_或空格分割的位置,相当于数组的某一元素、把它赋值给str1

@echo off md "结果\" 2>nul rem 循环数据 for /f "delims=" %%a in ('dir /a-d/b *.log') do ( setlocal EnableDelayedExpansion rem 切割方式 (for /f "tokens=1,2 delims=_| " %%b in ('type "%%a"') do ( set "str1=%%b %%c" echo;!str1: =,! ))>"结果\%%~na.csv" Endlocal ) pause

首先根据第一篇解答套入转excel模板,其次根据第二篇解答对bat for循环中分割和选取的描述,修改第五行代码。可以实现。

演示

文件内容 文件内容

目录下的文件 目录下的文件 2、点击aa.bat,生成csv文件 生成csv文件 3、任意打开一个csv文件 csv文件内容



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3