中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 05:42
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何让它只运行1次???
可打印版本  1,074 / 9
第1楼 acme 发表于 2007-04-17 08:45
中级用户 发帖 98 积分 238 来自 陕西
如何让它只运行1次???
如何让批处理第一次执行才会运行这些命令。
比如: 我需要在第一次执行时执行: at 20:00 e:\start.bat
后续就不要执行该部分了。
高手有办法吗?谢谢!
第2楼 本是 发表于 2007-04-17 08:54
银牌会员 发帖 790 积分 2,227
方法很多,如:
1.运行完自行删除;
2.运行完改名;
3.运行完移到另一目录;
4.测时运行;
5.运行时在内存中留一个环境变量,以后测试避免重复;
......
第3楼 acme 发表于 2007-04-17 09:05
中级用户 发帖 98 积分 238 来自 陕西
大哥如何实现bat命令行删除呢?
第4楼 vk 发表于 2007-04-17 09:28
中级用户 发帖 86 积分 218
@echo off
at 20:00 e:\start.bat
del /q %0

这样就能让批处理文件在执行好AT命令后 将自己删除!
第5楼 0451lym 发表于 2007-04-17 09:30
高级用户 发帖 357 积分 760
在批处理的最后写入:
TYPE A.BAT|FIND /I /V "at 20:00 e:\start.bat">A.BAT
第6楼 acme 发表于 2007-04-17 10:24
中级用户 发帖 98 积分 238 来自 陕西
是只删除命令行吗?
第7楼 0451lym 发表于 2007-04-17 11:02
高级用户 发帖 357 积分 760
删除所有at 20:00 e:\start.bat的命令行
第8楼 bjsh 发表于 2007-04-17 22:34
银牌会员 发帖 621 积分 2,000
给你个参考吧;双击运行


  1. @echo off
  2. echo this is the first & pause
  3. for /f "delims=" %%a in ('echo @echo off ^& echo goto start ^& more ^<%0') do (
  4. if not defined w (echo %%a >%0 && set w=1) else echo %%a >>%0
  5. )
  6. goto exit
  7. :start
  8. echo this is not the first
  9. pause
  10. :exit
BJSH发表于: 2007-04-17 09:26


[ Last edited by bjsh on 2007-4-17 at 09:36 AM ]
第9楼 vkill 发表于 2007-04-18 00:24
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
del "%~nx0" 这样保险点
第10楼 acme 发表于 2007-04-18 21:10
中级用户 发帖 98 积分 238 来自 陕西
感谢大家的热心回答与指导,如果加分规则是正确的话我已经给指导出真实内容的gg们加了少许分,每日加分有限不要嫌少哦。
非常感谢!;)
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023