![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 18:08 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 怎样自动替换bat中的变量 |
| 可打印版本 1,107 / 8 |
| 第1楼 999888777 | 发表于 2008-05-12 12:14 |
| 初级用户 发帖 11 积分 28 | |
|
怎样自动替换bat中的变量 想把以下代码中的分钟数增大2,如 8:12:36,变为8:14:36,该怎么写?
@echo off echo %time%>t.txt for /f "tokens=2 delims=:" %%i in (t.txt) do (set t=%%i ) echo %t% set /a t2=%t%+2 echo %t2% set a=%time% set b=%a:t=t2% echo %b% pause |
|
| 第2楼 jia332 | 发表于 2008-05-12 13:09 |
| 初级用户 发帖 81 积分 160 | |
|
please refer to the address
http://www.cn-dos.net/forum/viewthread.php?tid=40226&fpage=1 |
|
| 第3楼 999888777 | 发表于 2008-05-12 15:32 |
| 初级用户 发帖 11 积分 28 | |
|
请帮忙按我的思路修改一下好吗?
|
|
| 第4楼 999888777 | 发表于 2008-05-13 08:16 |
| 初级用户 发帖 11 积分 28 | |
|
我想借此请教替换变量的问题,set b=%a:t=t2%这一句替换不了,请赐教,拜托 !
|
|
| 第5楼 plp626 | 发表于 2008-05-13 08:49 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
@echo off
echo %time%>t.txt for /f "tokens=2 delims=:" %%i in (t.txt) do set "t=%%i" echo %t% set /a t2=%t%+2 echo %t2% set a=%time% call set b=%%a:%t%=%t2%%% echo %b% pause |
|
| 第6楼 999888777 | 发表于 2008-05-13 09:49 |
| 初级用户 发帖 11 积分 28 | |
|
谢谢 plp626 并请教:
"t=%%i" 这句为什么加引号呢? call set b=%%a:%t%=%t2%%% 这句为什么用call及%%呢? |
|
| 第7楼 plp626 | 发表于 2008-05-13 10:28 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
你(set t=%%i )这句i后面实际上还有个空格,所有t值==%%i空格,这会得不到你要的结果。
用"t=%%i"是让你养成个好习惯,这样不容易出错。 call .....? 你观察下面代码自己体会 call的作用就在于此。 |
|
| 第8楼 999888777 | 发表于 2008-05-13 14:06 |
| 初级用户 发帖 11 积分 28 | |
|
再次感谢 plp626 !
|
|
| 第9楼 woo88 | 发表于 2008-05-26 22:53 |
| 初级用户 发帖 96 积分 188 | |
|
call是什么意思?
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |