Board logo

标题: [文本处理] [已解决]批处理如何提取TXT文档中每行的前几个文字? [打印本页]

作者: qhefun    时间: 2013-1-11 21:15     标题: [已解决]批处理如何提取TXT文档中每行的前几个文字?

本帖最后由 qhefun 于 2013-1-14 02:38 编辑

想批量提取TXT文档中每行的前几个文字(例如:前n个文字),这个怎么实现?
作者: happyxxdhaha    时间: 2013-1-11 21:35

比如说,每行的前7个字符吧。
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (text.txt) do (
  3.   set "str=%%i"
  4.   set "str=!str:~,7!"
  5.   echo !str!
  6. )
  7. pause>nul
复制代码

作者: qhefun    时间: 2013-1-11 21:47

比如说,每行的前7个字符吧。
happyxxdhaha 发表于 2013-1-11 21:35


这个只能提取,从中间起到最后的每行的前几个字,前面的行没有提取出来
作者: nickl    时间: 2013-1-11 22:16

2樓的代碼是可以的
不如你給個範本, 及想要的結果吧
作者: qhefun    时间: 2013-1-11 22:36

2樓的代碼是可以的
不如你給個範本, 及想要的結果吧
nickl 发表于 2013-1-11 22:16


比如,我用玄幻小说《佣兵天下》测试了一下,这个批处理只提取了从30790行至最末行共299行的前7个字符。。。
作者: BAT-VBS    时间: 2013-1-11 23:18

  1. @echo off
  2. (for /f "delims=" %%i in (佣兵天下.txt) do (
  3.     set "str=%%i"
  4.     setlocal enabledelayedexpansion
  5.     set "str=!str:~,7!"
  6.     echo,!str!
  7.     endlocal
  8. ))>佣兵天下_new.txt
复制代码

作者: qhefun    时间: 2013-1-12 13:21

BAT-VBS 发表于 2013-1-11 23:18


这个很满意,谢谢了!
作者: vsax    时间: 2013-1-13 08:14

一个学习的好过程。自己还是有不懂的地方。




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