Board logo

标题: [文本处理] 批处理更改了时间,软件识别不了 [打印本页]

作者: sz_dysh    时间: 3 天前 11:37     标题: 批处理更改了时间,软件识别不了

本帖最后由 sz_dysh 于 2024-10-21 20:29 编辑

目的:通过批处理改系统时间后, 启动软件,然后再改回系统时间。
问题:1.以下批处理测试运行没问题,软件就也能启动。但第二天软件又不能启动了。
         2.另外一种情况是:批处理用管理员权限运行正常,如果有一次没有用管理员权限运行,批处理不报错,但软件就提示过期,运行不了。然后,再用管理员权限运行同样批处理,软件同样运行不了。
         请教一下各位大佬指点一下,批处理有没有问题?
          备注: 批处理运行后,电脑右下角的时间更改显示正常。  有没有一种可能是,还有哪个地方可以控制时间,它的优先级别大于电脑右下角显示的时间,
         另:经过多天,多次测试发现:只要一直用管理员权限运行,就一直能正常启动。所以,跟软件本身无关。应该是没用管理员权限运行,弄乱了时间,且这个时间还看不出来有问题(时间显示跟随程序正常变化)
代码如下:
  1. net session >nul 2>&1
  2. if %errorlevel% neq 0 ( PowerShell -Command "Start-Process '%~dpnx0' -Verb RunAs"
  3. exit /b)
  4. :: 获取当前时间和日期
  5. set d=%date:~0,10%
  6. set t=%time:~0,8%
  7. :: echo 更改系统时间
  8. date 2022-12-30
  9. :: echo 准备启动软件
  10. start "" "C:\Program Files\xxx.exe"
  11. :: echo 等待5秒后再次启动
  12. choice /t 5 /d y /n >nul
  13. :: 修改回之前的时间
  14. echo %d% | date
  15. echo %t% | time
  16. pause
复制代码

作者: Five66    时间: 3 天前 16:27

时间里面的空格??
作者: teacoffee    时间: 前天 16:08

听这描述,好像是软件的问题,而非批处理的问题。
作者: czjt1234    时间: 前天 20:05

会不会软件执行后,生成一个类似日志的文件,记录了本次的运行时间等信息
所以第二次会发现运行时间有问题
作者: Five66    时间: 前天 22:45

也可能大概是某些程序的时间同步? 修改了之后有立马又被给改回去了?
作者: aloha20200628    时间: 昨天 12:24

本帖最后由 aloha20200628 于 2024-10-21 12:34 编辑

回复 1# sz_dysh

     有 ‘时效管控’ 的专业软件一般至少要做两项基本功,一是获取 ‘互联网基准时间’ 以便验证本机当前时间的真伪,二是检查 ‘首次运行时创建’ 的日期记录(肯定藏在本机某个地方或自己的官网服务器)
     一些人用断网或每次均用首次运行的方法应付... 但其效果如何最终还是取决于软件开发者发现后的对策了...





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2