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

[文本处理] [已解决]批处理怎样分割字符串?

  1. 页号 页数
  2. 1 2
  3. 3 1
  4. 4 1
  5. 5 53
  6. 58 80
  7. 138 16
  8. 154 31
  9. 185 1
复制代码
用批处理来完成一个算法:
把上面一段数据编写输出成如下:
  1. 1-2;3-3;4-4;5-57;58-137;138-153;154-184;185-185;
复制代码
上面输出的意思一个数据从1到186,其中分成九小段
第1段:从  第1页     到 第2页,   共2页
第2段:从  3页        到 第 3页,  共1页
第3段:从  第4页     到 第4页,   共1页
第4段:从  第5页     到 第57页, 共53页
第5段:从  第59页   到 第137页,共80页
第6段:从  第138页 到 第153页,共16页
第7段:从  第15页4 到 第184页,共31页
第8段:从  第185页 到 第185页,共1页
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
莫求昨天无悔,但愿今日无愧。

本帖最后由 hfg1977 于 2011-8-21 01:01 编辑
  1. @echo off
  2. for /f "skip=1 tokens=1* usebackq " %%a in ("01.txt") do (
  3. call set/a num=%%a+%%b-1
  4. call set char=%%char%%%%a-%%num%%;
  5. )
  6. echo %char%
复制代码
1

评分人数

“阿姐走了。。。可是。。。我。。。我愿意。”

TOP

本帖最后由 guaiwu 于 2011-8-21 19:00 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set var=0
  4. for /f "skip=1 tokens=1* usebackq " %%a in ("01.txt") do (
  5. set /a var+=%%b
  6. set for=!for!%%a-!var!;
  7. )
  8. echo %for%
  9. pause >nul
复制代码
莫求昨天无悔,但愿今日无愧。

TOP

本帖最后由 guaiwu 于 2011-8-21 19:00 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set/a former=1,n=-1
  4. for /f "delims=" %%i in (22.txt) do set/a n+=1
  5. cls>nul 3>44.txt
  6. for /f "skip=1" %%i in (22.txt) do (
  7. set/a m+=1,now=%%i
  8. if not !m! equ %n% (set/a lastline=now-1) else set lastline=!now!
  9.   
  10. set/p=!former!-!lastline!;<nul
  11.   set former=%%i
  12. )
复制代码
莫求昨天无悔,但愿今日无愧。

TOP

本帖最后由 guaiwu 于 2011-8-21 19:01 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set/a former=1,n=-1
  4. for /f "delims=" %%i in (22.txt) do set/a n+=1
  5. cls>nul 3>44.txt
  6. for /f "skip=1" %%i in (22.txt) do (
  7. set/a m+=1,now=%%i
  8. set/a lastline=now-^^!^(^^!^(n-m^)^)
  9. set/p=!former!-!lastline!;<nul
  10. set former=%%i
  11. )
复制代码
莫求昨天无悔,但愿今日无愧。

TOP

返回列表