[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 holley 于 2022-10-18 15:57 编辑

回复 13# sditwzh
我说的意思就是单纯以服务器上某一个或两个文件的修改时间作为基准,一般不去动它,只有此文件的内容发生变化且被保存,才会更新修改时间(甚至有工具可以直接修改‘修改时间’)。再定义一个授权日期,先校验文件名再确认你的授权日期在这两个文件的修改时间之内才能正常运行bat。想让bat过期,只需要自己控制服务器上文件的修改时间即可。或者定义授权日期完全等于服务器上此文件的修改时间,你可以随时控制它是否过期。
闲的,简单试了一下:
  1. @echo off
  2. set file_1="\\192.168.87.128\A\a.bat"
  3. set file_2="\\192.168.87.128\A\b.bat"
  4. call :check %file_1% %file_2%
  5. pause>nul&exit
  6. :your
  7. echo 调用客户需要运行的文件或命令
  8. :check
  9. if "%~t1"=="%~t2" (call :your) else echo 此程序授权已过期!
复制代码

TOP

回复 16# holley


    你这个是可以不过不是我说的那个思路,本地电脑时间是固定的,但是云端的时间是可变的。

TOP

回复 17# sditwzh
最要是本地电脑时间也是可调的,属于不可控的变量。发散想了想:你倒是可以定义一个授权周期,跟本地电脑时间做对比,20天内有效之类的。

TOP

回复 17# sditwzh
其实,只需要在bat内指定固定时间执行一个循环,重新读取指定地址的时间,比如限定为半夜。有的人电脑是永不关机的,没有这个循环,他是永不过期的。
目的,学习批处理

TOP

回复 19# hlzj88


    我的目的就是我这边边有个可控制的时间,对比的话可以是获取电脑时间,完全可以忽略通过修改电脑时间来达到永久有效的目的,因为启动的软件也是要获取电脑时间的,如果修改了时间那么软件的时间也不对,对于业务也有影响。
只不过我现在没有好的方案,用txt这个不知道为啥容易出问题。

TOP

  1. if /i %date:~0,10% leq 2023/10/01 (goto :b)
  2. echo 程序使用到期
  3. pause
  4. :b
  5. echo 欢迎使用
  6. pause
复制代码
本地时间验证

TOP

返回列表