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

调用批处理自身(%0),冒号(:)作为%0的参数传递给%1
当调用自身执行到这一行时,实际上就是执行这一句:
  1. : cmd /k %0 :
复制代码
冒号会当作标签,该行不予执行,保证仅仅调用一次批处理自身
如果没有%1(即 cmd /k %0),会无限多次地调用自身,就是死循环
cmd /k 使得调用自身后保留cmd窗口而不是退出批处理
1

评分人数

TOP

回复 3# zhanglei1371
  1. @echo off
  2. : cmd /k %0 :
  3. echo sdfsdfsdf
  4. if sdfl then geo dn
  5. pause
复制代码
所谓调用自身,其实就是在批处理里面调用另外一个批处理,只不过“另外一个批处理”是自己罢了
这个代码双击时第二行被跳过,不会调用自身
如果第二行是%1 cmd /k %0 :
双击时,由于%1 初始值为空,执行的是 cmd /k %0 :
这样才会调用自身,%1才会赋值为冒号,执行的是 : cmd /k %0 :
1

评分人数

TOP

返回列表