Batch file 如果鼠标第一次移动,只运行一次批处理脚本|批处理脚本|

Batch file 如果鼠标第一次移动,只运行一次批处理脚本|批处理脚本|,batch-file,Batch File,我有一个场景,当移动发生在特定的时间段时,我想检测鼠标移动,这是我登录时鼠标第一次移动,然后捕获当前日期和时间并存储到文件 以下代码可以正常工作: @echo off for /f "tokens=1,2" %%u in ('date /t') do set d=%%v for /f "tokens=1" %%u in ('time /t') do set t=%%u if "%t:~1,1%"==":" set t=0%t% For /f "tokens=1,2,3,4,5 delims=/

我有一个场景,当移动发生在特定的时间段时,我想检测鼠标移动,这是我登录时鼠标第一次移动,然后捕获当前日期和时间并存储到文件

以下代码可以正常工作:

@echo off
for /f "tokens=1,2" %%u in ('date /t') do set d=%%v
for /f "tokens=1" %%u in ('time /t') do set t=%%u
if "%t:~1,1%"==":" set t=0%t%

For /f "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set dt=%%c-%%b-%%d

set logfile=C:\Users\vvoor\OneDrive\Desktop\wirite\n\login_time_%dt%.txt
echo Login Time : %d% %t% %time:~-5,2% >> %logfile%
这上面的作品很好,因为预期给我的日期和时间

但是我希望脚本在我第一次登录并第一次移动他的鼠标时自动触发并捕获日期和时间


时间段在12:00到2:00之间=>如果鼠标在给定时间段内第一次移动,则将当前日期和时间捕获到文本文件中

cmd
没有使用鼠标的方法。我使用了Npcmaka对来自

批处理文件(由Npcmaka编写)创建一个
mouse.exe
,您可以使用它来获取鼠标位置(以及任务不需要的更多内容):

这将为您提供一个字符串,如
514x312

第一件事是将鼠标位置捕获到一个变量中(无需将其拆分为x和y坐标,因为您只是想稍后进行比较以获得相等值)

然后执行一个简单的循环,并将当前位置与保存的位置进行比较:

@echo off
for /f %%a in ('mouse.exe position') do set "initialPos=%%a"
:loop
timeout 2 >nul
for /f %%a in ('mouse.exe position') do set "currentPos=%%a"
if "%currentPos%" == "%initialPos%" goto :loop
echo Mouse has been moved.

创建一个计划任务(“新任务”,而不是“简单的新任务”),以便在所需的时间范围内运行它。

cmd
没有使用鼠标的方法。我使用了Npcmaka对来自

批处理文件(由Npcmaka编写)创建一个
mouse.exe
,您可以使用它来获取鼠标位置(以及任务不需要的更多内容):

这将为您提供一个字符串,如
514x312

第一件事是将鼠标位置捕获到一个变量中(无需将其拆分为x和y坐标,因为您只是想稍后进行比较以获得相等值)

然后执行一个简单的循环,并将当前位置与保存的位置进行比较:

@echo off
for /f %%a in ('mouse.exe position') do set "initialPos=%%a"
:loop
timeout 2 >nul
for /f %%a in ('mouse.exe position') do set "currentPos=%%a"
if "%currentPos%" == "%initialPos%" goto :loop
echo Mouse has been moved.
创建一个计划任务(“新任务”,而不是“简单的新任务”),以便在所需的时间范围内运行它