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

[文件操作] [已解决]批处理如何提取文本中以指定字符/字符串分割的前两列内容

[复制链接]
发表于 2015-9-18 17:37:36 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-8-6 09:46 编辑

bat提取文本前两段
需求:提取指定格式文本前两段

需要处理文本格式:
3353596496----jruecqi18----母亲姓名----gluc----父亲姓名----gyyyv----配偶姓名----vsuzaz
662758143140----jruoewpf988----母亲姓名----hiyo----父亲姓名----wdupb----配偶姓名----kxqqhy
3142554166----vyhkcy2887082----母亲姓名----adji----父亲姓名----tntdx----配偶姓名----dscjxk

处理后的结果:
3353596496----jruecqi18
662758143140----jruoewpf988
3142554166----vyhkcy2887082

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-9-18 20:33:21 | 显示全部楼层
(1)写需求不要惜墨如金,本来问题很简单,但不说清楚很耽误事。
(2)能上文本的时候不要发图片,图片占空间大,并且不方便测试(帮助的人要自己手打?)
(3)需求要的结果和测试样本同样重要,不说清结果,样本整再详细也白扯。

评分

参与人数 2PB +2 技术 +1 收起 理由
flyinnet9 + 1 赞同
pcl_test + 2 同感

查看全部评分

 楼主| 发表于 2015-9-18 20:47:52 | 显示全部楼层
回复 2# 回家路上


    嗯 谢谢指导
发表于 2015-9-18 21:44:55 | 显示全部楼层
本帖最后由 回家路上 于 2015-9-18 21:55 编辑

如果会常用批处理,建议在论坛里学一下基础会方便很多
  1. @if(0)==(0) echo off&type "a.txt"|cscript -nologo -e:jscript "%~f0">b.txt&pause&exit /b&@end

  2. WScript.StdIn.ReadAll().replace(/([^-]+-+[^-]+).*(?:\r\n|$)/g,function($0,$1){
  3.         WSH.Echo($1);
  4. });
复制代码

  1. @echo off
  2. (for /f "tokens=1,2 delims=-" %%i in (a.txt) do echo;%%i----%%j)>b.txt
  3. pause & exit /b
复制代码
 楼主| 发表于 2015-9-20 00:19:44 | 显示全部楼层
回复 4# 回家路上


    怎么实现拖拽执行呢 折腾一天还是不行
发表于 2015-9-20 01:58:07 | 显示全部楼层
本帖最后由 flyinnet9 于 2015-9-20 02:00 编辑

回复 5# shimuren


    借“回家路上”的代码
  1. @echo off
  2. set /p str=请拖入需要处理的文件,然后回车:
  3. (for /f "tokens=1,2 delims=-" %%i in (%str%) do echo;%%i----%%j)>b.txt
  4. pause & exit /b
复制代码
 楼主| 发表于 2015-9-20 02:24:48 | 显示全部楼层
回复 6# flyinnet9


    保存的文件如何已 [拖入的文件文件名+后缀].txt 保存呢,并与拖入的文件处在同一个目录,我这边保存老是与bat一个目录
发表于 2015-9-20 11:21:35 | 显示全部楼层
回复 7# shimuren
  1. @echo off
  2. set /p str=请拖入需要处理的文件,然后回车:
  3. for /f "delims=" %%a in ("%str%") do (
  4.   set p=%%~pa
  5.   set n=%%~na
  6. )
  7. (for /f "tokens=1,2 delims=-" %%i in (%str%) do echo;%%i----%%j)>"%p%%n%_b.txt"
  8. pause & exit /b
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2015-9-20 12:38:36 | 显示全部楼层
回复 8# flyinnet9


    谢谢大神
 楼主| 发表于 2015-9-20 16:59:43 | 显示全部楼层
回复 8# flyinnet9


   要是bat放在D盘,txt文件放在桌面,执行bat后无法导出文件,或者导出文件为空白。

这个要修改?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 07:53 , Processed in 0.040862 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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