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

[文本处理] 求一个批处理 顺序替换文本内的数字

文本A.txt内容如下:
3611290907010001
3611290907010001
3611290907010001
3611290907010001
3611290907010001
3611290907010001
3611290907010001
3611290907010001
3611290907010001
3611290907010001
3611290907010001
3611290907010001

需求是实现文本的固定长度不变,并累加,效果如下:

3611290907010001
3611290907010002
3611290907010003
3611290907010004
3611290907010005
3611290907010006
3611290907010007
3611290907010008
3611290907010009
3611290907010010
3611290907010011
3611290907010012
3611290907010013


谢谢

回复 2# apang


   厉害!

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%a in (a.txt) do (
  3.   set /a n+=1
  4.   set "str=%%a"
  5.   if !n! lss 10 (echo,!str:~,-1!!n!
  6.   ) else (
  7.     if !n! lss 100 (echo,!str:~,-2!!n!
  8.     ) else if !n! lss 1000 echo,!str:~,-3!!n!
  9.   )
  10. ))>b.txt
  11. pause
复制代码
a.txt最多999行

TOP

返回列表