标题: [文件操作] 批处理文件中%0前面加上call为何出错了呢? [打印本页]
作者: saint_Zuo 时间: 2012-2-23 10:35 标题: 批处理文件中%0前面加上call为何出错了呢?
%0是调用批处理本身,也可以表示自身的完整路径加文件名。Call的语法可以用“call 批处理文件名 第一实参 第二实参…”。
那么为什么下面的语句中%0前面加上call就出错了呢?此时%0不能算批处理文件自身的完整路径加文件名吗?另外能否用call调用批处理文件的自身时加入实参(%1,%2)呢?- set/a m+=1
- if %m%==11 exit
- echo %m%
- pause
- call %0
复制代码
作者: cjiabing 时间: 2012-2-23 10:48
回复 1# saint_Zuo
引用自身会导致死循环!~需要仔细处理。
如果想使用%1等参数最好这样:
-
- @echo off
- echo ——
- echo 显示:%1
- echo ——
- if defined %1 goto :eof
- call %0 你好北海!~
- echo 显示结束。
- pause
复制代码
作者: QIAOXINGXING 时间: 2012-2-23 14:58
本帖最后由 QIAOXINGXING 于 2012-2-23 15:03 编辑
回复 2# cjiabing
%1 好像不能用defined 吧??- @echo off
- call :1 aaa
- pause & exit
- :1
- echo %1
- if defined %1 echo 不显示
- set "a=%1"
- if defined a echo 显示
复制代码
作者: terse 时间: 2012-2-23 15:36
%0是调用批处理本身,也可以表示自身的完整路径加文件名。Call的语法可以用“call 批处理文件名 第一实参 第 ...
saint_Zuo 发表于 2012-2-23 10:35
好久不来了哦 你指的错是来自那里 提示?
作者: cjiabing 时间: 2012-2-23 16:37
回复 3# QIAOXINGXING
你不是照样用?我是提示而已,没测试过。
作者: QIAOXINGXING 时间: 2012-2-23 19:39
回复 QIAOXINGXING
你不是照样用?我是提示而已,没测试过。
cjiabing 发表于 2012-2-23 16:37
好吧,我有点盲目崇拜版主,以为版主不会发错误的代码,发代码都会测试。。。。。。。。。
作者: Perl 时间: 2012-2-23 21:11
回复 6# QIAOXINGXING
带着鄙视版主的战略思想,很快就能超过版主。
作者: cjiabing 时间: 2012-2-23 23:23
回复 6# QIAOXINGXING
呵呵,知错了吧!~只是按想的贴代码,没测试过,确实没空。
作者: cjiabing 时间: 2012-2-24 00:11
回复 3# QIAOXINGXING
你测试下,如果没有问题报告下!~
- @echo off
- set /a var=1+%var%>nul 2>nul
- echo;
- echo ——————————
- echo 显示:1【%var%】%1、%2、%3、%4、%5
- echo ——————————
- pause>nul
- echo;
- echo ——————————
- echo 显示:2【%var%】%1、%2、%3、%4、%5
- if not defined %1 goto bb
- ::注意,使用not和不使用not的区别是很大的,使用not后能够发挥功能,但发生错误,而不使用则毫无意义。
- echo ——————————
- pause>nul
- :aa
- set /a var+=1
- echo;
- echo ——————————
- echo 显示:3【%var%】%1、%2、%3、%4、%5
- echo ——————————
- echo;你会把我遗忘吗?
- pause>nul
- :bb
- echo;
- echo ——————————
- echo 显示:4【%var%】%1、%2、%3、%4、%5
- echo ——————————
- pause>nul
- cls
- if %var%==1 call %0 静夜思
- if %var%==2 call %0 静夜思 床前明月光
- if %var%==3 call %0 静夜思 床前明月光 疑是地上霜
- if %var%==4 call %0 静夜思 床前明月光 疑是地上霜 举头望明月
- if %var%==5 call %0 静夜思 床前明月光 疑是地上霜 举头望明月 低头思故乡
复制代码
作者: QIAOXINGXING 时间: 2012-2-24 15:10
回复 9# cjiabing
版主都发飙了,还怎么会有问题。。。。。。
嗯,体谅版主的辛苦,半夜还在坛子里转。
虽然我没在几个论坛混过,但是我觉得bathhome确实很好!!!
作者: powerbat 时间: 2012-2-24 16:14
好久不来了哦 你指的错是来自那里 提示?
terse 发表于 2012-2-23 15:36
+1!
只有这个回复才是真理,其他都是浮云。。。
连错误都不知道,根据什么给答案?都是YY、想当然。。。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |