Board logo

标题: [文本处理] (已解决)批处理如何截取两个单词/指定字符串之间的内容? [打印本页]

作者: 七剑下面条    时间: 2015-7-14 01:10     标题: (已解决)批处理如何截取两个单词/指定字符串之间的内容?

本帖最后由 pcl_test 于 2017-4-14 13:50 编辑

已知存在1.txt
aaabatabcdefgcataaaaaaaa
我想截取bat与cat之间的内容(包含bat与cat),然后把截取的结果保存到2.txt上。请问该怎么做
作者: email10t    时间: 2015-7-14 07:07

  1. echo batabcdefgcat
复制代码

作者: pcl_test    时间: 2015-7-14 09:31

本帖最后由 pcl_test 于 2017-4-14 13:51 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set "word1=bat"
  3. set "word2=cat"
  4. (for /f "delims=" %%a in ('findstr "%word1%.*%word2%" "1.txt"') do (
  5.     set "str=#%%a"
  6.     set "str=!str:%word1%=ж!"
  7.     set "str=!str:%word2%=ж!"
  8.     for /f "tokens=2 delims=ж" %%b in ("a!str!") do echo;%word1%%%b%word2%
  9. ))>"new_1.txt"
  10. pause
复制代码

作者: 七剑下面条    时间: 2015-7-14 10:08

回复 3# pcl_test
非常感谢,还有一个问题想请教一下,我的1.txt结构如下
abc
acd

der
ftr
abc
dfr
acd
frt

请问我该怎么删除里面的重复行abc acd而只保留一个呢(只是打个比方,实际上不止这两个重复行)
作者: pcl_test    时间: 2015-7-14 10:14

回复 4# 七剑下面条

论坛搜索“重复行”
作者: 七剑下面条    时间: 2015-7-14 11:14

回复 5# pcl_test
感谢,已成功搞定




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2