找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 35162|回复: 13

[文本处理] 批处理如何将多个txt文本里指定列的内容相同的行分别输出到以该内容命名的文本里

[复制链接]
发表于 2016-11-4 09:06:02 | 显示全部楼层 |阅读模式
批处理怎样根据txt某列相同内容拆分到不同的文件?
很多个TXT文件,格式如下:
井名        地区        样品深度        层位        类型        重矿物名称        重矿物含量(%)        样品编号        序号        备注
W11        黄龙        2601.17        K        源        钛铁矿        8.7        125156        3       
W11        黄龙        2601.17        K        源        白钛石        5.2        125156        4       
W11        黄龙        2601.17        K        源        锆石        0.9        125156        5       
W11        黄龙        2601.17        K        源        石榴石        9.6        125156        16       
W11        黄龙        2601.17        K        生        黄铁矿        52.2        125156        33       
W11        黄龙        2601.17        K        生        重晶石        19.1        125156        34       
W11        黄龙        2601.17        K        源        电气石        4.3        125156        12       
W11        黄龙        2602.79        K        源        钛铁矿        4.1        125156        3       
W11        黄龙        2602.79        K        源        白钛石        29.3        125156        4       
W11        黄龙        2602.79        K        源        锆石        16.9        125156        5       
W11        黄龙        2602.79        K        源        榍石        0.4        125156        6       
W11        黄龙        2602.79        K        源        板钛矿        1.7        125156        8       
W11        黄龙        2602.79        K        生        重晶石        1.2        125156        34       
W11        黄龙        2602.79        K        源        十字石        0.4        125156        15       
W11        黄龙        2602.79        K        源        石榴石        19.4        125156        16       
W11        黄龙        2602.79        K        源        尖晶石        1.2        125156        32       
W11        黄龙        2602.79        K        生        黄铁矿        24.4        125156        33       
W11        黄龙        2602.79        K        源        电气石        0.8        125156        12

我想把第6列拆分,相同矿物名称的放在一个txt里面,并以相应的矿物名称命名
【万分感谢】

评分

参与人数 1PB -6 收起 理由
pcl_test -6 上传的附件需压缩打包

查看全部评分

 楼主| 发表于 2016-11-4 09:50:28 | 显示全部楼层
大神 大神 求帮助
发表于 2016-11-4 10:37:35 | 显示全部楼层
  1. @echo off
  2. for /f "skip=1 tokens=1-10" %%a in ('type "源数据.txt"') do (
  3.     if not exist "%%f.txt" (
  4.         > "%%f.txt" echo 井名        地区        样品深度        层位        类型        重矿物名称        重矿物含量(%)        样品编号        序号        备注
  5.     )
  6.     >> "%%f.txt" echo %%a        %%b        %%c        %%d        %%e        %%f        %%g        %%h        %%i        %%j
  7. )
复制代码
 楼主| 发表于 2016-11-4 14:15:26 | 显示全部楼层
回复 3# Batcher

测试不成功啊,另外是有很多个txt文件
发表于 2016-11-4 14:18:43 | 显示全部楼层
回复 4# nihaoareyou


    别着急,先不说多个文件的事情。不成功是指有什么报错信息吗,具体表现是什么呢?
 楼主| 发表于 2016-11-4 14:20:56 | 显示全部楼层
回复 5# Batcher


    就是点完运行后,没有啥操作,文件跟原来一样
发表于 2016-11-4 14:23:47 | 显示全部楼层
回复 6# nihaoareyou


3楼代码保存为 test.bat 并且放到C盘根目录
源数据.txt 也放到C盘根目录
打开一个 CMD 窗口,然后输入 C:\test.bat
回车执行
看看是否有报错信息
 楼主| 发表于 2016-11-4 14:31:57 | 显示全部楼层
回复 7# Batcher


    提示“此时不应有f”。。。。
发表于 2016-11-4 14:34:30 | 显示全部楼层
回复 8# nihaoareyou


    把第一行的 @echo off 改成 @echo on 重新执行 test.bat 把结果发出来看看
 楼主| 发表于 2016-11-4 14:44:19 | 显示全部楼层
回复 9# Batcher
发表于 2016-11-4 15:03:43 | 显示全部楼层
  1. @echo off & setlocal enabledelayedexpansion

  2. set srcDir=%~dp0src
  3. set targetDir=%~dp0target

  4. mkdir "%targetDir%" 2>nul

  5. for /f "delims=" %%f in ('dir /a-d /s /b "%srcDir%"') do (
  6.         set /p firstLine=<"!%%f!"
  7.         for /f "skip=1 delims=" %%i in ('type "%%f"') do (
  8.                 for /f "tokens=6 delims= " %%j in ("%%i") do (
  9.                         set targetFile=%targetDir%\%%j.txt
  10.                         if not exist "!targetFile!" echo;!firstLine!>"!targetFile!"
  11.                         echo;%%i>>"!targetFile!"
  12.                 )
  13.         )
  14. )
  15. pause & exit /b
复制代码
 楼主| 发表于 2016-11-4 15:13:15 | 显示全部楼层
回复 11# 回家路上


    运行后,target文件夹是空的,好像不太行
发表于 2016-11-4 15:32:18 | 显示全部楼层
回复 12# nihaoareyou


呵呵
发表于 2016-11-5 17:34:06 | 显示全部楼层
回复 10# nihaoareyou


不知是不是你抄错代码了,我直接上传你试试。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 14:12 , Processed in 0.023615 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表