标题: [日期时间] 批处理BAT怎样实现倒计时周期? [打印本页]
作者: lion991128 时间: 2014-3-10 10:12 标题: 批处理BAT怎样实现倒计时周期?
我做了一个简单的批处理 但是我想加一个前面的认证是否可以? 比如像做一个30天的周期 每天都会减去一天到“0”的时候需要一个固定密码去认证(这个密码可以写在代码里面不需要动态),如果错误就不能使用 如果密码正确在重新计算30天的倒计时周期 不知道这个能不能实现呢?- @echo off
- ::ping -n 5 127.1>nul
- md C:\log
- echo 用户%username% 于%date% %time%登录系统>>c:\log\login.txt
复制代码
作者: lion991128 时间: 2014-3-10 12:04
没人帮助吗?
作者: DAIC 时间: 2014-3-10 13:15
如果连续30天都没有输入正确的密码,将会发生什么事情?
作者: lion991128 时间: 2014-3-11 10:35
回复 3# DAIC
可以删除自己 就可以了 这个应该可以很简单的实现。就是倒计时的比较难 使用哪种方法记录剩余天数或者是累计开启的次数,到达一个次数就删除自己。
作者: terse 时间: 2014-3-11 11:12
剩余天数或者是累计开启的次数记录在login.txt里不行吗 或者记录在BAT文件自身也可
作者: lion991128 时间: 2014-3-11 11:17
回复 5# terse
TXT容易被改 请教下 如何记录在BAT自身?
作者: lion991128 时间: 2014-3-11 11:20
@echo off
set /a cishu=50
set /a ci=1
for /f %%a in (ci.txt) do set /a ci=%%a+1
echo %ci% >ci.txt
if %ci%== %cishu% goto a
set /a yu=%cishu%-%ci%
这个是建立TXT的50次使用 次数限定只要有人删除TXT次数就会重新计算了
作者: DAIC 时间: 2014-3-11 12:10
回复 6# lion991128
记录在BAT自身里面也能被修改啊。你是打算bat转exe是吧
作者: terse 时间: 2014-3-11 13:39
回复 6# lion991128
记录运行次数的- :30
- @echo off
- set /ps=<%~0
- set s=%s::=%
- set /a s-=1,m=30-s
- echo 运行%m%次
- for /f "skip=1 delims=" %%i in ('type %~s0') do (
- if defined s >%~s0 echo :%s%&set "s="
- >>%~s0 echo %%i
- )
- pause
复制代码
作者: lion991128 时间: 2014-3-13 09:53
回复 8# DAIC
是的 最好是这样 但是现在好像转成EXE就没法用del %0这个命令删除自己了。。。。。
作者: lion991128 时间: 2014-3-13 09:55
回复 9# terse
请教下 这个记录次数我是否能把%m%中的数值读取如果到50次或者到达一个次数就删除自己呢?
作者: terse 时间: 2014-3-13 10:28
回复 11# lion991128
修改第一行数字即可- :50
- @echo off
- set /ps=<%~0
- set /a "s=%s::=%-1"
- if %s% equ 0 del %~s0
- for /f "skip=1 delims=" %%i in ('type %~s0') do (
- if defined s >%~s0 echo :%s%&set "s="
- >>%~s0 echo %%i
- )
- pause
复制代码
作者: lion991128 时间: 2014-3-13 11:09
回复 12# terse
第一行的数字是怎么才能取它的值呢?
作者: Batcher 时间: 2014-3-13 11:50
回复 13# lion991128
是第三行取到的
作者: lion991128 时间: 2014-3-13 15:52
回复 14# Batcher
恩 了解了 多谢
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |