中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 21:36
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何记录批处理本身运行的次数
可打印版本  851 / 11
第1楼 fmr520 发表于 2008-03-26 19:45
初级用户 发帖 25 积分 66
[求助]如何记录批处理本身运行的次数
如何记录批处理本身运行的次数,比如,运行了1次,运行第二次是会显示运行了2次。
第2楼 faultcode 发表于 2008-03-26 20:27
初级用户 发帖 60 积分 120
貌似变量设置只在当前环境下有效
只通过批处理本身的话不会 如果导出记录文件关联的话 应该还是容易实现的
第3楼 plp626 发表于 2008-03-26 20:27
银牌会员 发帖 1,020 积分 2,278
@echo off
set/p n=<%tmp%\n&cls
set/a n+=1
echo 第%n%次&echo %n% >%tmp%\n
pause
第4楼 fmr520 发表于 2008-03-27 10:42
初级用户 发帖 25 积分 66
谢谢
第5楼 zh159 发表于 2008-03-27 10:56
金牌会员 发帖 1,467 积分 3,687
第6楼 jvive 发表于 2008-03-27 11:21
初级用户 发帖 17 积分 122
zh159
的方法巧,(其实用%~s0也可以兼容空格)

顺便请教下:

在批处理文件运行后, 怎样可以对批处理自身文件的第一行字符,与最后一行字符进行修改.其他行不变.(所谓的变身)

我想用echo的方法 特殊字符不好处理.
第7楼 zh159 发表于 2008-03-27 12:14
金牌会员 发帖 1,467 积分 3,687
单纯批处理好像不行,不过可以考虑用内嵌VBS脚本来处理
第8楼 terse 发表于 2008-03-27 12:46
银牌会员 发帖 946 积分 2,404
Originally posted by jvive at 2008-3-27 11:21:
zh159
的方法巧,(其实用%~s0也可以兼容空格)

顺便请教下:

在批处理文件运行后, 怎样可以对批处理自身文件的第一行字符,与最后一行字符 ...

你的意思是不是这样?
:1
@echo off
for /f "delims=:" %%a in (%~nx0) do set/a a=%%a& goto _next
:_next
echo 运行第 %a% 次
set/a a+=1
>_emp echo :%a%
for /f "delims=" %%a in ('more/e +1 "%~nx0"') do >>_emp echo %%a
move /y "_emp" "%~nx0" 2>NUL
pause
第9楼 Shinaterry 发表于 2008-03-27 13:20
初级用户 发帖 51 积分 97
学习! 很好, 很强大..
第10楼 jvive 发表于 2008-03-27 13:50
初级用户 发帖 17 积分 122
Originally posted by terse at 2008-3-27 12:46 PM:

你的意思是不是这样?
:1
@echo off
for /f "delims=:" %%a in (%~nx0) do set/a a=%%a& goto _next
:_next
echo 运行第 %a% 次
set/a a+=1
>_emp echo :%a%
for /f &q ...

不局限于本帖. 这个帖子让我想到了"程序变身"

PS: more可以显示某行以后的,但好像难以显示多少行以前的.
第11楼 terse 发表于 2008-03-27 14:11
银牌会员 发帖 946 积分 2,404
Originally posted by jvive at 2008-3-27 13:50:

不局限于本帖. 这个帖子让我想到了"程序变身"

PS: more可以显示某行以后的,但好像难以显示多少行以前的.


显示指定行并不一定要用more 判断就可以嘛
第12楼 fmr520 发表于 2008-03-28 10:15
初级用户 发帖 25 积分 66
@echo off
set/p o=<%tmp%\o&cls
set/a o+=1
echo %o% >%tmp%\o
if "%o%"gtr"20" echo 20 &&pause

这样怎么不行啊???
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023