中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]  帮忙分析一段批处理
作者:
标题: [求助]  帮忙分析一段批处理 上一主题 | 下一主题
wwmy1982
初级用户





积分 29
发帖 11
注册 2006-10-22
状态 离线
『楼 主』:  [求助]  帮忙分析一段批处理

不断显示数字1
到99的问题示例
@echo off
      if not "%2"=="" goto _subru
      for %%i in (0 1 2 3 4 5 6 7 8 9) do call %0 %1 %%i
      goto _out
      :_subru
      set x_=%1%2
      if "%x_%"=="00" goto _out
      echo %x_%
      :_out
哪位达人分析下程序运行过程
不理解由数字09变成10时,%1的微妙变化 以及19变成20时..%1的微妙变化,请解释程序的运行机理.

从000循环到255

@echo off
      if "%exit_%"=="yes" goto _out
      if not "%3"=="" goto _subru
      for %%i in (0 1 2 3 4 5 6 7 8 9) do call %0 %1 %2 %%i
      goto _out
      :_subru
      set x_=%1%2%3
      echo %x_%
      if "%x_%"=="255" set exit_=yes
      :_out

%1%2的微妙变化

[ Last edited by wwmy1982 on 2008-5-11 at 11:23 AM ]

2008-5-9 14:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

@echo off
for %%i in (0 1 2 3 4 5 6 7 8 9) do echo %0 %1 %%i
pause>nul

2008-5-9 15:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 3 楼』:  

一点一点看,一点一点分析
::@echo off
      if not "%2"=="" goto _subru
      for %%i in (0 1 2 3 4 5 6 7 8 9) do call %0 %1 %%i
      goto _out
      :_subru
      set x_=%1%2
      if "%x_%"=="00" goto _out
      echo %x_%
      :_out
pause


2008-5-9 15:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wwmy1982
初级用户





积分 29
发帖 11
注册 2006-10-22
状态 离线
『第 4 楼』:  

re slore:


谢谢,有点明白了....

2008-5-9 15:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 5 楼』:  

不得不佩服写这段代码的人,空间想像能力太强了。。
看了半天,把我绕晕了。。



致精致简!
2008-5-9 18:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 6 楼』:  晕:

请求助时不要直呼其名啊,这里高手多的是,热心的人也多的是,相信只要你是真心请教的,知道的人都会热情地帮助你的,呵呵。
ps:这两段代码我实在看不出什么特别的地方,也就是把批处理自身%0当作了一个参数而已。

[ Last edited by zw19750516 on 2008-5-9 at 06:48 PM ]



批处理之家新域名:www.bathome.net
2008-5-9 18:27
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 7 楼』:  

还是有特别之处的呵呵……

有点递归的感觉

2008-5-9 18:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 8 楼』:  

我发现就第一个代码好像最多时竟同时运行了3个批喔,对写出此代码的牛人只能望其项背了.

2008-5-9 18:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wwmy1982
初级用户





积分 29
发帖 11
注册 2006-10-22
状态 离线
『第 9 楼』:  

此段批处理来自于前任版主willsort 的一篇文章:标题为

[推荐][DOS]Assorted MS-DOS Batch Tricks(现征求译文)
有兴趣的朋友可以搜索一下.

2008-5-11 11:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: