|  | 
 
| field4728 初级用户
 
   
 
 
 
 积分 26
 发帖 10
 注册 2006-10-27
 状态 离线
 | 
| 『楼 主』:
 批处理高手进来!----关于FOR,%%等函数的应用
 
使用 LLM 解释/回答一下 
 
 
求助批处理高手啊,帮小弟一个忙,感激涕零!!!!!
 求助批处理高手啊,能否帮小弟一个忙!!
 把下面这段不长的批处理命令一行一行单独解释一下意思好吗?感激涕零!!!!!
 
 @ECHO OFF
 
 SET PTFS=945,915,865,855,845,830,815,810,
 SET EX=
 SET CMDS=
 SET LP=
 
 FOR %%I IN (%PTFS%) DO IF EXIST I%%IDIAG.EXE SET EX=I%%IDIAG
 IF NOT "%EX%"=="" GOTO START
 ECHO.
 ECHO Error!  8xx/9xx executable not found.
 ECHO.
 GOTO END
 
 REM                     Process the loop parameter this batch file.
 
 :START
 IF "%1"=="" GOTO RUN
 REM                     If 'loop' param, set flag and remove.
 REM
 IF "%1"=="loop" SET LP=Y
 IF "%1"=="loop" SHIFT
 IF "%1"=="loop" GOTO START
 REM                     Section overcomes DOS's nine parameter limit.
 REM                     Collect all the non loop command line args.
 REM
 IF NOT "%1"=="" SET CMDS=%CMDS% %1
 SHIFT
 GOTO START
 
 REM                     Call the exe with all the parameters.
 
 :RUN
 %EX%%CMDS%
 ECHO .
 IF ERRORLEVEL 2 GOTO FAIL
 IF ERRORLEVEL 1 GOTO ABORT
 IF "%LP%"=="Y" GOTO RUN
 IF ERRORLEVEL 0 GOTO PASS
 ECHO INVALID RETURN CODE
 GOTO END
 
 :PASS
 ECHO Pass
 GOTO END
 
 :FAIL
 ECHO Fail
 GOTO END
 
 :ABORT
 echo incomplete
 GOTO END
 
 :END
 ECHO .
 REM Clean up environment
 FOR %%I IN (EX,CMDS,PTFS,LP,LPF) DO SET %%I=
 
 Last edited by field4728 on 2006-10-30 at 11:15 PM ]
 
 
 
 
 |  | 
|  2006-10-27 03:27 |  | 
|  | 
 
| NaturalJ0 银牌会员
 
      
 
 
 积分 1181
 发帖 533
 注册 2006-8-14
 状态 离线
 | 
| 『第 2 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
我是第一个回的,先给你解释第一行。 ^_^
 @ECHO OFF
 
 表示屏蔽屏幕输出。
 
 PS: 是不是有点水。 = =b
 
 Last edited by NaturalJ0 on 2006-10-27 at 03:31 AM ]
 
 
 
 
 |  | 
|  2006-10-27 03:30 |  | 
|  | 
 
| vkill 金牌会员
 
       
 
 
 
 积分 4103
 发帖 1744
 注册 2006-1-20
 来自 甘肃.临泽
 状态 离线
 | 
| 『第 3 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
汗~~~建议先好好看看这个
 开始/运行 hh ntcmds.chm::/ntcmds.htm
 
 
 
 
 |  | 
|  2006-10-27 03:32 |  | 
|  | 
 
| 不得不爱 超级版主
 
          我爱DOS
 
 
 积分 5310
 发帖 2044
 注册 2005-9-26
 来自 四川南充
 状态 离线
 |  | 
|  2006-10-27 03:39 |  | 
|  | 
 
| field4728 初级用户
 
   
 
 
 
 积分 26
 发帖 10
 注册 2006-10-27
 状态 离线
 | 
| 『第 5 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
谢谢各位的回复可否浪费点时间一行一行帮解释下呢?
 小弟还有很多类似于这种%%,%1,SHIFT,FOR等等不懂啊,逐行解释一下相信能悟出不少,感谢啊~!!!我知道这里高手
 
 
 
 
 |  | 
|  2006-10-27 04:37 |  | 
|  | 
 
| field4728 初级用户
 
   
 
 
 
 积分 26
 发帖 10
 注册 2006-10-27
 状态 离线
 |  | 
|  2006-10-27 04:38 |  | 
|  | 
 
| electronixtar 铂金会员
 
        
 
 
 
 积分 7493
 发帖 2672
 注册 2005-9-2
 状态 离线
 | 
| 『第 7 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
REM                     Process the loop parameter this batch file.
 
 
 
这句是注释,我看懂了 
 
 
 
 
 |  
                  |  
 C:\>BLOG http://initiative.yo2.cn/
 C:\>hh.exe ntcmds.chm::/ntcmds.htm
 C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
 |  | 
|  2006-10-27 05:21 |  | 
|  | 
 
| NaturalJ0 银牌会员
 
      
 
 
 积分 1181
 发帖 533
 注册 2006-8-14
 状态 离线
 |  | 
|  2006-10-27 05:27 |  | 
|  | 
 
| lxmxn 版主
 
         
 
 
 积分 11386
 发帖 4938
 注册 2006-7-23
 状态 离线
 | 
| 『第 9 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
建议多看看命令与帮助:hh ntcmds.chm::ntcmds.htm,经常去教学室逛逛。
 
 
 
 
 |  | 
|  2006-10-27 06:34 |  | 
|  | 
 
| field4728 初级用户
 
   
 
 
 
 积分 26
 发帖 10
 注册 2006-10-27
 状态 离线
 |  | 
|  2006-10-30 23:18 |  | 
|  | 
 
| 不得不爱 超级版主
 
          我爱DOS
 
 
 积分 5310
 发帖 2044
 注册 2005-9-26
 来自 四川南充
 状态 离线
 | 
| 『第 11 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
@ECHO OFF   //回显关闭,并且不输出ECHO OFFSET PTFS=945,915,865,855,845,830,815,810, //设置变量PTFS的值
 SET EX=
 SET CMDS=
 SET LP=        //设置变量EX、CMDS、LP的值为空
 FOR %%I IN (%PTFS%) DO IF EXIST I%%IDIAG.EXE SET EX=I%%IDIAG //如果找到 I945IDIAG.EXE 就设置EX变量为I945DIAG,如果找到 I865IDIAG.EXE 就设置EX变量为I865DIAG........
 IF NOT "%EX%"=="" GOTO START  //如果变量EX不是空的就跳到标号为:START的行
 ECHO. //显示空行
 ECHO Error!  8xx/9xx executable not found. //显示Error!  8xx/9xx executable not found.
 ECHO.  //显示空行
 GOTO END  跳到标号为:END的行
 
 
 
 
 
 |  
                  |  我的网络U盘 我的网络第2个U盘
 论坛软件下载链接
 灵雨飘零论坛
 论坛新手必读,所有人的基本行为准则
 刷QQ空间人气、留言的小软件
 |  | 
|  2006-10-31 03:11 |  | 
|  | 
 
| field4728 初级用户
 
   
 
 
 
 积分 26
 发帖 10
 注册 2006-10-27
 状态 离线
 | 
| 『第 12 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
非常感谢QWE1234567的热情回复!!!
 可否在帮忙解释下以下这段,我对%1,"%1"=="" 也有些不明白,再次感谢!
 :START
 IF "%1"=="" GOTO RUN
 REM                     If 'loop' param, set flag and remove.
 REM
 IF "%1"=="loop" SET LP=Y
 IF "%1"=="loop" SHIFT
 IF "%1"=="loop" GOTO START
 REM                     Section overcomes DOS's nine parameter limit.
 REM                     Collect all the non loop command line args.
 REM
 IF NOT "%1"=="" SET CMDS=%CMDS% %1
 SHIFT
 GOTO START
 
 
 
 
 |  | 
|  2006-10-31 03:53 |  | 
|  | 
 
| 不得不爱 超级版主
 
          我爱DOS
 
 
 积分 5310
 发帖 2044
 注册 2005-9-26
 来自 四川南充
 状态 离线
 |  | 
|  2006-10-31 05:36 |  |