[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 请问BAT脚本批量从1000个文件中提取有用数据信息,生成对应的1000个excel的文件

我现在有1000个名字为1.result.g2x,2.result.g2x...1000.result.g2x文件,这些文件是可以用文本编辑器打开,想从里面提取有用数据并转化为excel。例如:1070行<points>后的第一个数是节点1的X坐标,第二个数为节点1的Y坐标;第三个数为节点2的X坐标,第四个数为节点2的Y坐标。观察可以发现同一个节点的X坐标与Y坐标之间用逗号分割,而不同节点之间用分号分割。请问如何通过批量处理得到对应的1000个名称为1,2,...1000的excel文件,每个excel文件第一列为节点号1到1000,第二列为节点1到1000的X坐标,第三列为节点1到1000的Y坐标。

回复 1# chifengdong


可以直接生成TXT文本,然后你直接复制进去。EXCEL没办法直接用批处理操作,除非用Shell.
体外“        ”这个符号在文本中是一个长空格,但是复制到EXCEL就是表格的分隔符。其可用“TAB”键输入,一个“tab”代表一列。

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /l %%i in (1,1,1000) do (
  4.     for /f "delims=;" %%a in ('findstr "points.[1-9][0-9]*,[1-9][0-9]*;[1-9][0-9]*,[1-9][0-9]*" %%i.result.g2x') do (
  5.         set "str=%%a"
  6.         echo,%%i,!str!
  7.     )
  8. ))>New.csv
  9. pause
复制代码
.csv文件可以用Excel打开。

TOP

返回列表