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

[文本处理] 批处理怎么在txt文本每一行开头(不包括空白行)添加行号?

[复制链接]
发表于 2010-9-19 14:24:23 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-11-18 01:02 编辑

我找了论坛里别人写的代码试了下 不太理想
  1. @echo off&setlocal enabledelayedexpansion
  2. findstr  /n .* 123.txt>>_123.txt
  3. set /p var=指定起始数字:
  4. set /a str=%var%-1
  5. for /f "tokens=1,* delims=:" %%a in (_123.txt) do (
  6. set /a str=!str!+1
  7. echo !str! %%b
  8. )
  9. pause
复制代码
输出的编号为 1: 2:   ......

怎么把每个句子给弄成1. 2.   .....(1. 比 1: 简单的多 句子多起来也没那么缭乱)
上面写的代码有个缺点 例:

1:xx
2: xxx
3::xxxx
4:
5:
6:
.
.
.
(没有句子的的地方也给标上号了 不知道论坛里的各为大虾有什么更号的办法没?
发表于 2010-9-19 14:29:07 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (123.txt) do (
  3.      set /a n+=1
  4.      echo !n!.%%a
  5. )
  6. pause>nul
复制代码
 楼主| 发表于 2010-9-19 14:51:05 | 显示全部楼层

回复 2楼 的帖子

不会生成改变后的文本
findstr  /n .* 123.txt>>_123.txt

[ 本帖最后由 aa8110806 于 2010-9-19 15:05 编辑 ]
发表于 2010-9-19 14:58:12 | 显示全部楼层

回复 3楼 的帖子

楼主真的就是个“伸手党”?,自己不知道改?
 楼主| 发表于 2010-9-19 15:07:24 | 显示全部楼层

回复 4楼 的帖子

大哥啊  我真的不会啊  会我也不来这里求助了  我是菜鸟想学习学习 您帮帮我吧
 楼主| 发表于 2010-9-19 15:11:05 | 显示全部楼层

回复 4楼 的帖子

对了 你能改进一下写的那个代码吗? 已经编号的句子 如果在加些没有编号的新内容 重新执行批处理的话 那么会重重编代码 造成重复 如 1.x1.
发表于 2010-9-19 21:55:37 | 显示全部楼层
对lz你实在很无奈!~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 13:39 , Processed in 0.019402 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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