Board logo

标题: 如何让它只运行1次??? [打印本页]

作者: acme     时间: 2007-4-17 08:45    标题: 如何让它只运行1次???
如何让批处理第一次执行才会运行这些命令。
比如: 我需要在第一次执行时执行: at 20:00 e:\start.bat
后续就不要执行该部分了。
高手有办法吗?谢谢!

作者: 本是     时间: 2007-4-17 08:54
方法很多,如:
1.运行完自行删除;
2.运行完改名;
3.运行完移到另一目录;
4.测时运行;
5.运行时在内存中留一个环境变量,以后测试避免重复;
......

作者: acme     时间: 2007-4-17 09:05
大哥如何实现bat命令行删除呢?

作者: vk     时间: 2007-4-17 09:28
@echo off
at 20:00 e:\start.bat
del /q %0

这样就能让批处理文件在执行好AT命令后 将自己删除!

作者: 0451lym     时间: 2007-4-17 09:30
在批处理的最后写入:
TYPE A.BAT|FIND /I /V "at 20:00 e:\start.bat">A.BAT

作者: acme     时间: 2007-4-17 10:24
是只删除命令行吗?

作者: 0451lym     时间: 2007-4-17 11:02
删除所有at 20:00 e:\start.bat的命令行

作者: bjsh     时间: 2007-4-17 22:34
给你个参考吧;双击运行


  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 ]

作者: vkill     时间: 2007-4-18 00:24
del "%~nx0" 这样保险点

作者: acme     时间: 2007-4-18 21:10
感谢大家的热心回答与指导,如果加分规则是正确的话我已经给指导出真实内容的gg们加了少许分,每日加分有限不要嫌少哦。
非常感谢!;)