请问如何通过脚本文件,始终检测某程序的运行进程,当检测到进程运行后修改系统时间为指定时间,进程结束后恢复原有系统时间。
附:与之前的问题类似,但是改程序可通过关联的文件启动,因此还要麻烦下,如何进行调整。
@echo off & title 监测运行程序并更改日期 By 依梦琴瑶
cd /d "%~dp0" & setlocal enabledelayedexpansion
::设置要检测的进程名
set ProcessName=iexplore.exe
::设置指定日期,格式为yyyy-mm-dd
set SpecifyDate=2016-01-01
:: BatchGetAdmin
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
:: HideTheWindow
if "%1"=="::::" goto Begin
start mshta vbscript:CreateObject("WScript.Shell").Run("""%~0"" ::::",0)(window.close)&&exit
:Begin
set NowDate=%date:~,10%
:Loop
tasklist | findstr /i "%ProcessName%" >nul 2>nul && (
echo %SpecifyDate%
date %SpecifyDate%
) || (
echo %NowDate%
date %NowDate%
)
goto Loop
cd /d "%~dp0" & setlocal enabledelayedexpansion
::设置要检测的进程名
set ProcessName=iexplore.exe
::设置指定日期,格式为yyyy-mm-dd
set SpecifyDate=2016-01-01
:: BatchGetAdmin
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
:: HideTheWindow
if "%1"=="::::" goto Begin
start mshta vbscript:CreateObject("WScript.Shell").Run("""%~0"" ::::",0)(window.close)&&exit
:Begin
set NowDate=%date:~,10%
:Loop
tasklist | findstr /i "%ProcessName%" >nul 2>nul && (
echo %SpecifyDate%
date %SpecifyDate%
) || (
echo %NowDate%
date %NowDate%
)
goto Loop
这个脚本运行后会一直循环执行。同时依旧保留后台隐藏运行。如果要关闭,请直接在任务管理器中结束cmd.exe进程。
来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考