![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 19:47 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]上班中碰到的问题,如何删除一定格式的log日志 |
| 可打印版本 1,655 / 9 |
| 第1楼 yiming10 | 发表于 2010-02-24 11:45 |
| 新手上路 发帖 7 积分 7 | |
|
[求助]上班中碰到的问题,如何删除一定格式的log日志 两层循环,一层为天,二层为时间。输出0202,0212这种格式,调试失败,希望大家指点一下,谢谢
'day' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 'hour' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 dayhour for /l %%d in (1,1,2) do ( for /l %%h in (1,1,12) do ( set day=%%d if %%d lss 10 ( day=0%%d )else day=%%d set hour=0%%h if %%h lss 10 ( hour=0%%h )else hour=%%h echo dayhour ) ) pause |
|
| 第2楼 HAT | 发表于 2010-02-24 11:56 |
| 版主 发帖 5,017 积分 9,023 | |
|
变量赋值需要用set命令
|
|
| 第3楼 yiming10 | 发表于 2010-02-24 12:11 |
| 新手上路 发帖 7 积分 7 | |
|
我也是刚看批处理没几天,请具体指点一下,用上面的for循环,如何输出下面变量值,谢谢
|
|
| 第4楼 yiming10 | 发表于 2010-02-24 13:33 |
| 新手上路 发帖 7 积分 7 | |
|
for /l %%d in (1,1,2) do (
for /l %%h in (1,1,12) do ( if %%d lss 10 set day=0%%ds if %%h lss 10 set hour=0%%h echo %day%%hour% ) ) pause 改了一下报如下错误,大侠指点一下 ----------------- D:\bat>( if 2 LSS 10 set day=02 if 12 LSS 10 set hour= echo ) ECHO 处于打开状态。 |
|
| 第5楼 HAT | 发表于 2010-02-24 15:04 |
| 版主 发帖 5,017 积分 9,023 | |
|
开启变量延迟扩展吧,参考:批处理中的变量延迟扩展、变量嵌套
http://www.bathome.net/thread-2899-1-1.html |
|
| 第6楼 yiming10 | 发表于 2010-02-24 15:50 |
| 新手上路 发帖 7 积分 7 | |
|
对大侠的帮助,俺感动的痛哭流涕
|
|
| 第7楼 yiming10 | 发表于 2010-02-26 12:26 |
| 新手上路 发帖 7 积分 7 | |
|
@echo off
set day=0 set hour=0 for /l %%d in (1,1,2) do ( for /l %%h in (1,1,12) do ( if %%d lss 10 set day=0%%d if %%h lss 10 set hour=0%%h call echo %%day%%%%hour%% ) ) pause 代码修改成上面,执行的时候如下: hello world 请按任意键继续. . . 不能打印出正确结果,却打印出hello world,费解啊,希望大侠在指点一下 |
|
| 第8楼 yiming10 | 发表于 2010-02-26 14:25 |
| 新手上路 发帖 7 积分 7 | |
|
有没有人搭理一声,谢谢了
|
|
| 第9楼 bozhou | 发表于 2010-02-28 10:55 |
| 初级用户 发帖 19 积分 38 | |
|
"一定格式的log日志"
还是告诉大家具体的情况吧。 |
|
| 第10楼 yiming10 | 发表于 2010-03-03 12:33 |
| 新手上路 发帖 7 积分 7 | |
|
@echo off
setlocal enabledelayedexpansion for /l %%d in (1,1,2) do ( for /l %%i in (1,1,12) do ( if %%d lss 10 ( set day=0%%d )else set day=%%d if %%h lss 10 ( set hour=0%%i )else set hour=%%i echo !day!!hour! ) ) pause 这样就可以打印出想要的格式了,问题已经解决,谢谢大家 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |