[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
第一个有字符限制  第二个没字符限制 效率给限制了
  1. @echo off&setlocal enabledelayedexpansion
  2. set/a n=29,q=3,z=1
  3. for /l %%i in (%z% 1 !n!) do (
  4.     set/a m+=1,t=m%%q
  5.     if !t! neq 0 set str=!str! %%i
  6. )
  7. set/a z-=1
  8. for /l %%i in (!z! -1 1) do set str=%%i !str!
  9. call :lp "!str!"
  10. echo 最后剩下的是原来的 !str! 号
  11. pause&exit
  12. :lp
  13. set p=&set "str="
  14. for %%i in (%~1) do (
  15.     set/a m+=1,t=m%%q
  16.     if !t! neq 0 set str=!str! %%i&set/a p+=1
  17. )
  18. if !p! gtr 1 call:lp "!str!"
复制代码

修改 :  当从最后一位 开始循环出错
  1. @echo off&setlocal enabledelayedexpansion
  2. set/a n=29,s=29,q=3
  3. if %n% equ %s% set p=1
  4. :lp
  5. for /l %%i in (!s! 1 !n!) do (
  6.     if not defined %%i (
  7.     set/a m+=1,t=m%%q
  8.     if !t! equ 0 (set %%i=%%i)else set/a str=%%i,p+=1,n=%%i,s=1
  9. )
  10. )
  11. if !p! gtr 1 set p=&goto lp
  12. echo 最后剩下的是原来的 !str! 号
  13. pause
复制代码

[ 本帖最后由 terse 于 2008-8-5 20:59 编辑 ]

TOP

返回列表