[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
然而并不知道你每两个数字的对应关系是什么
  1. @echo off & setlocal enabledelayedexpansion
  2. set s=101,102,339,340,341,342,343,592,593,594,595
  3. for %%i in (%s%) do (
  4. set /a n+=1,m=n%%2
  5. if !m!==0 (set sp=-)else set sp=,
  6. set re=!re!!sp!%%i
  7. )
  8. set s=%re:~1%
  9. echo;%s%
  10. pause
复制代码
人生是一部书/只有这一页最温暖/读懂它的时候/我们在远方流泪...

TOP

本帖最后由 回家路上 于 2015-9-19 16:39 编辑
  1. @echo off & setlocal enabledelayedexpansion
  2. set s=101,102,339,340,341,342,343,592,593,594,595
  3. for %%i in (%s%) do (
  4. if not defined end (
  5. set begin=%%i& set end=%%i
  6. ) else (
  7. set /a flag=%%i-end-1
  8. if not !flag!==0 (
  9. set t=!t!,!begin!-!end!
  10. set begin=%%i& set end=%%i
  11. )else set end=%%i
  12. )
  13. )
  14. set t=%t%,%begin%-%end%
  15. set s=%t:~1%
  16. echo;%s%
  17. pause
复制代码
再改一下O(∩_∩)O!
  1. @echo off & setlocal enabledelayedexpansion
  2. set s=101,102,339,340,341,342,343,592,593,594,595
  3. for %%i in (%s%,shenmegui) do (
  4. if not defined end (
  5. set s=& set begin=%%i& set end=%%i
  6. ) else (
  7. set /a flag=%%i-end-1
  8. if not !flag!==0 (
  9. if defined s (
  10. set s=!s!,!begin!-!end!
  11. )else set s=!begin!-!end!
  12. set begin=%%i& set end=%%i
  13. )else set end=%%i
  14. )
  15. )
  16. echo;%s%
  17. pause & exit /b
复制代码
2

评分人数

人生是一部书/只有这一页最温暖/读懂它的时候/我们在远方流泪...

TOP

只是赶巧了,如果你的s不是2开头,而是:
  1. set s=3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
复制代码
就能正确显示,原因?你猜O(∩_∩)O!
人生是一部书/只有这一页最温暖/读懂它的时候/我们在远方流泪...

TOP

没看出前面的1a有什么特殊意义
  1. C:>set b=1a
  2. C:>set /a "2-b-1"
  3. 0
复制代码
删了吧
  1. for %%i in (%s% a) do (
  2. ... ...
  3. echo;!str:~1,-3!
复制代码
人生是一部书/只有这一页最温暖/读懂它的时候/我们在远方流泪...

TOP

返回列表