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

[文本处理] [已解决]批处理怎样实现文本批量生成 求助~

文本文件 AA.TXT 内容如下
TGSEC1503070000100-----TGSEC1503070002700
TGSTT1503070000500-----TGSTT1503070315900

前5个是字母 中间的150307是日期代表15年的3月7日  最后的7位数字 按照100的数额来翻倍  例如 0000200  0000300 一直到最后的0002700

最终的效果就是
TGSEC1503070000100
TGSEC1503070000200
TGSEC1503070000300
TGSEC1503070000400
中间省略 一直到
TGSEC1503070002700

请会的朋友帮个忙  谢谢~
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 pcl_test 于 2015-3-27 22:23 编辑

回复 1# necnec1
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. (for /l %%i in (100 100 2700) do set n=00000000%%i &echo TGSEC150307!n:~-8!)>a.txt
复制代码

TOP

  1. (for /l %%a in (70000100,100,70002700) do @echo TGSEC15030%%a)>a.txt
复制代码

TOP

回复 2# pcl_test


    回楼主  我这个文本有几千行  我只举了其中的2行  你给的批处理好像只生成其中一个的结果  呵呵
TGSEC1503070000100-----TGSEC1503070002700
TGSTT1503070000500-----TGSTT1503070315900

TOP

回复 4# necnec1
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. (for /f "tokens=1* delims=-" %%a in ('type "AA.txt"') do (
  4. set n=%%a
  5. set m=%%b
  6. for /l %%i in (!n:~-8!,100,!m:~-8!) do echo,!n:~,10!%%i
  7. ))>a.txt
复制代码
1

评分人数

    • necnec1: 写的非常好 谢谢~技术 + 1

TOP


  • @Echo Off
  • SetLocal EnableDelayedExpansion
  • (For /F "Tokens=1,2 Delims=-" %%a In (AA.TXT) Do (
  •         Set Start=%%a
  •         Set End=%%b
  •         Set Prefix=!End:~0,11!
  •         Set /A Start=1!Start:~11!-10000000,End=1!End:~11!-10000000
  •         For /L %%c In (!Start! 100 !End!) Do Set Num=0000000%%c&Echo !Prefix!!Num:~-7!
  • ))>$AA.txt
        bailong360发表于:  2015-03-27  22:44

是否符合要求?

PS 试一试无奈何兄的脚本

TOP

返回列表