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

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

本帖最后由 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
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

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

评分人数

人生是一部书/只有这一页最温暖/读懂它的时候/我们在远方流泪...

TOP

回复 2# 回家路上


    嗯 谢谢指导

TOP

本帖最后由 回家路上 于 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
复制代码
人生是一部书/只有这一页最温暖/读懂它的时候/我们在远方流泪...

TOP

回复 4# 回家路上


    怎么实现拖拽执行呢 折腾一天还是不行

TOP

本帖最后由 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
复制代码

TOP

回复 6# flyinnet9


    保存的文件如何已 [拖入的文件文件名+后缀].txt 保存呢,并与拖入的文件处在同一个目录,我这边保存老是与bat一个目录

TOP

回复 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

评分人数

TOP

回复 8# flyinnet9


    谢谢大神

TOP

回复 8# flyinnet9


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

这个要修改?

TOP

返回列表