Board logo

标题: [文本处理] 批处理如何按指定注释顺序显示文本? [打印本页]

作者: douqu    时间: 2011-12-19 10:19     标题: 批处理如何按指定注释顺序显示文本?

现在我有一个文本 1.txt 内容如下

1        城东        2010-1-4        105530153998671        4609    豆趣               


我想把文本的每一个部分都加上前缀注释

如下:

序号: 1
地址: 城东
时间: 2010-1-4
终端号 :105530153998671
编号: 6409
名称:豆趣

我现在写了代码如下:
  1. @echo off
  2. color e
  3. title                    文本分类
  4. setlocal enabledelayedexpansion
  5. for /f "delims=," %%i in (1.txt) do (
  6. set sy=
  7. for %%a in (%%i) do (
  8. echo %%a
  9. )
  10. )
  11. pause >nul
复制代码
无法实现我要的功能 ,我也没思路了

求教
作者: jellyhk    时间: 2011-12-19 10:43

  1. @echo off
  2. (for /f "tokens=1-6" %%a in (1.txt) do (
  3.   echo 序号: %%a
  4.   echo 地址: %%b
  5.   echo 时间: %%c
  6.   echo 终端号 :%%d
  7.   echo 编号: %%e
  8.   echo 名称:%%f
  9. ))>2.txt
  10. start 2.txt
复制代码

作者: douqu    时间: 2011-12-19 11:05

谢谢 ,  很完美。
作者: douqu    时间: 2011-12-19 11:27

回复 2# jellyhk


   求教
现在有1.txt-10.txt 等10个文本文件。(这些文件在同一个文件夹内,且格式相同。)
大侠的代码已经实现文件的注释前缀,但是是全部显示。 我想 只显示符合 我要求的条目。
例如 我想在 下面五条数据中找到 序号为 4 的数据条目,且只显示出来。(实际上其实是有很多个文本的)

1        城东        2010-1-4        105530153998671        4609        1055301539986710001        豆趣
2        城东        2010-1-4        105530148128672        4608        1055301481286720001        网趣               
3        滇龙        2010-1-6        105530115208676        4615        1055301152086760001        序古               
4        滇龙        2010-1-6        105530115208676        4616        1055301152086760002        致力                       
5        城南        2010-1-7        105530115208680        4657        1055301152086800001        龙润
作者: jellyhk    时间: 2011-12-20 19:41

本帖最后由 jellyhk 于 2011-12-20 20:15 编辑

放同目录!
  1. @echo off
  2. set /p n=输入你想显示的序号:
  3. for /f "delims=" %%i in ('dir /b *.txt') do (
  4.    for /f "usebackq tokens=1-7" %%a in ("%%i") do (
  5.   if "%%a" == "%n%" (
  6.   echo 序号: %%a
  7.   echo 地址: %%b
  8.   echo 时间: %%c
  9.   echo 终端号 :%%d
  10.   echo 编号: %%e
  11.   echo 名称:%%g
  12. )
  13. )
  14. )
  15. pause
复制代码
这段代码是以4楼为准!
为什么1楼和4楼在名称前不一样?
1楼是
1        城东        2010-1-4        105530153998671        4609         豆趣
4楼是:
1        城东        2010-1-4        105530153998671        4609        1055301539986710001        豆趣
作者: Hello123World    时间: 2011-12-22 16:28

  1. @echo off
  2. (For /f "tokens=1-6" %%a in (1.txt) do (
  3. echo 序号: %%a
  4. echo 地址: %%b
  5. echo 时间: %%c
  6. echo 终端号 :%%d
  7. echo 编号: %%e
  8. echo 名称: %%f
  9. echo.
  10. echo.
  11. ))>11.txt
  12. pause
复制代码





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