『楼 主』:
好问不说二遍的坏处,解除时间限制求教
俺在批处理室发了个贴, 不过大侠们都只喜欢说一回,然后不再理彩俺了,无奈下,来此求教.俺给人作了个试用的网卡更改批处理,基本流程如下,
1,运行后首先进行时间判断,如果时间不超过12.10(时间暂为此,到时再跟据情况更改),则表示软件在试用期内,可以运行,进行网卡更改.这里我用了smac小软件来实现.
2,如果时间超过了12.10,就进行网卡的判断,也就是原物理地址和自定义地址的判断,超过也就是超出试用期了,如果地址已为原物理地址,则直接退出,如果为用户自定义地址,则改回原物理地址.原物理地址的判断用getmac导出为文本文档,用find命令加&&及其它组合,原物理地址预先输入进行对比.导出的值非原物理地址自然就是自定议地址,
在进行判断的过程中,我不知对时间如何操作.我以为是:取出系统日期(是日期期12月10号,如果系统日期超过了12月10号就执行试用期过后的操作,否则执行试用未过期的操作.在批处理里数学运算我不会,将日期进行运算俺也不会,不知哪位大侠有没有时间帮俺搞下,俺后天来看下,明天考试.多谢!
@echo off
set xxx=%~t0
set xxx=%xxx:-=%
if %xxx:~0,8% gtr 20071001 echo 过期了
pause
@echo off&set ci=3
for /f "tokens=1-3 delims=.-/ " %%a in ("%date%") do (
set /a y=%%a,m=100%%b%%100,d=100%%c%%100
)
set var=%y%-%m%-%d%
set m=0%m%
set d=0%d%
set mm=%y%%m:~-2%%d:~-2%
set /a mm=mm*2-5
:lis
cls
echo 密码为 %mm%
set /p num= 请输入密码,三次错误则退出:
set /a ci-=1
if %ci% equ 0 exit
if not "%num%"=="%mm%" goto lis
cls
if %var% geq 2007-12-1 if %var% leq 2007-12-10 goto loop
echo 过期了。
pause&exit
:loop
echo 有效期内
pause
这是前两位大侠给的关于时间的代码,不过俺看起来吃力,能不能进行下组合,顺便作下注释,这样俺也要学点东西啊
|