标题: set /a 取余(%)??? [打印本页] 作者: xycoordinate 时间: 2007-2-17 03:49 标题: set /a 取余(%)???
set syear=2008
set /a yyyy=syear%4
echo %yyyy%
以上直接在CMD下执行,OK!得到yyyy为0
但是,如果写在test.bat中,再执行test.bat却不行!!!
Quote:
@echo off
set syear=2008
set /a yyyy=syear%4
得到的yyyy为2008
???????
[ Last edited by xycoordinate on 2007-2-16 at 03:01 PM ]作者: qjbm 时间: 2007-2-17 11:01 @echo off
set syear=2008
set /a yyyy=syear%%4作者: 6622186 时间: 2007-2-17 12:59 标题: 关于删除自身
删除.bat 文件自身可以用 del %0 , 在命令行下运行可以, 但是双击该文件无效, 只能用 del filename.bat 才可以, 请问这是为什么?作者: spiegboy 时间: 2007-2-17 14:26 不是把,我试验过的,在批文件中写入del %0 就可以删除文件本身,你再试试吧作者: PPdos 时间: 2007-2-17 17:34 del %~s0作者: xycoordinate 时间: 2007-2-17 21:11 谢谢!!!
厉害呀!
set 取余和for 中%i是不是一个道理!
放入批处理中都要变成%%
???作者: xycoordinate 时间: 2007-2-17 21:29 再问一下:
@echo off
set syear=2008
if %smouth% == 2 (
set /a yyyy=syear%%4
if %yyyy% == 0 (
set lday=29
) else (
set ldate =28
)
)
echo %lday%
应该是29呀???
为什么显示28???
如果改写成
Quote:
@echo off
set syear=2008
set /a yyyy=syear%%4
if %smouth% == 2 (
if %yyyy% == 0 (
set lday=29
) else (
set ldate =28
)
)
echo %lday%
就OK!!!
为什么 set /a yyyy=syear%%4放在if里就不行呢???
[ Last edited by xycoordinate on 2007-2-17 at 09:28 PM ]作者: gne3 时间: 2007-2-17 21:52 ding作者: 3742668 时间: 2007-2-18 07:24
Quote:
Originally posted by xycoordinate at 2007-2-17 21:29:
再问一下:
@echo off
set syear=2008
if %smouth% == 2 (
set yyyy=syear%%4
if %yyyy% == 0 (
set lday=29
) else (
set ldate =28
)
)
echo %lday%