![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-03 10:55 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » set /a 取余(%)??? |
| 可打印版本 990 / 9 |
| 第1楼 xycoordinate | 发表于 2007-02-17 03:49 |
| 中级用户 发帖 228 积分 493 来自 安徽 | |
|
set /a 取余(%)??? set syear=2008
set /a yyyy=syear%4 echo %yyyy% 以上直接在CMD下执行,OK!得到yyyy为0 但是,如果写在test.bat中,再执行test.bat却不行!!!
得到的yyyy为2008 ??????? [ Last edited by xycoordinate on 2007-2-16 at 03:01 PM ] |
|
| 第2楼 qjbm | 发表于 2007-02-17 11:01 |
| 初级用户 发帖 44 积分 125 | |
|
@echo off
set syear=2008 set /a yyyy=syear%%4 |
|
| 第3楼 6622186 | 发表于 2007-02-17 12:59 |
| 高级用户 发帖 411 积分 894 | |
|
关于删除自身 删除.bat 文件自身可以用 del %0 , 在命令行下运行可以, 但是双击该文件无效, 只能用 del filename.bat 才可以, 请问这是为什么?
|
|
| 第4楼 spiegboy | 发表于 2007-02-17 14:26 |
| 初级用户 发帖 9 积分 24 | |
|
不是把,我试验过的,在批文件中写入del %0 就可以删除文件本身,你再试试吧
|
|
| 第5楼 PPdos | 发表于 2007-02-17 17:34 |
| 高级用户 发帖 268 积分 783 | |
|
del %~s0
|
|
| 第6楼 xycoordinate | 发表于 2007-02-17 21:11 |
| 中级用户 发帖 228 积分 493 来自 安徽 | |
|
谢谢!!!
厉害呀! set 取余和for 中%i是不是一个道理! 放入批处理中都要变成%% ??? |
|
| 第7楼 xycoordinate | 发表于 2007-02-17 21:29 |
| 中级用户 发帖 228 积分 493 来自 安徽 | |
|
再问一下:
@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??? 如果改写成
就OK!!! 为什么 set /a yyyy=syear%%4放在if里就不行呢??? [ Last edited by xycoordinate on 2007-2-17 at 09:28 PM ] |
|
| 第8楼 gne3 | 发表于 2007-02-17 21:52 |
| 高级用户 发帖 252 积分 526 | |
|
ding
|
|
| 第9楼 3742668 | 发表于 2007-02-18 07:24 |
| 荣誉版主 发帖 718 积分 2,013 | |
Originally posted by xycoordinate at 2007-2-17 21:29: 因为if语句实际上都在一行上,只不过你的写法上把它分为了几行。 在同一行上的多次对变量的操作存在一个变量延迟的问题,比如: set str=cn-dos.net && echo %str% 就只会在屏幕上打印%str%而不是cn-dos.net,你的代码中应该就是与此类似的情况。 建议可以先用setlocal ENABLEDELAYEDEXPANSION启用延迟的环境变量,然后在if语句中用!!来代替%%试试。 |
|
| 第10楼 xycoordinate | 发表于 2007-02-18 09:27 |
| 中级用户 发帖 228 积分 493 来自 安徽 | |
这个我要好好学学!没有听过! 谢谢! test.bat
CMD: \>test.bat 此时不应有 (set。 ?????? [ Last edited by xycoordinate on 2007-2-17 at 09:28 PM ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |