Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Display the start time of a process

Aug
1,936
71
This batch file demonstrates how to find the start time of a process using PowerShell and TCC.

Code:
::+---------------------------------------------------------------------
::| STARTTIME.BTM - Display the start time of a process using
::|  PowerShell and TCC LE
::| 2014-03-08
::| Joe Caverly
::|
::| TCC LE 13.03.51 Windows XP
::| TCC 16.00.41  Windows Vista SP2
::| PowerShell 2.0
::|
::| In TCC you can use %@agedate[%@processtime[%@pid[theprocess.exe,0],4]]
::|  to find the start time of a process.
::|
::| NOTE: I have PowerShell Set-ExecutionPolicy Unrestricted
::|  If this does not work on your system, check this setting
::|
::| TODO: More error checking
::|---------------------------------------------------------------------
@setlocal
@echo off
iff %# eq 0 then
  echo USAGE: starttime.btm procname
  echo  starttime.btm tcc
  quit
endiff
set theproc=%1
iff %@right[4,%theproc] eq .exe then
  echo Do not use .exe on the end of the process name.
  quit
endiff
set thefile=%@unique[]
setdos /X-5
echo $a = get-process -Name %theproc > starttime.ps1
echo $a.starttime | Out-File -FilePath %thefile >> starttime.ps1
type starttime.ps1
powershell -File starttime.ps1 > nul
iff %@filesize[%thefile] gt 2 then
  echo PowerShell: %@line[%thefile,1]
  ::
  :: If this is not being run in TCCLE
  ::
  iff %_cmdproc ne TCCLE then
    set thepid=%@pid[%theproc.exe]
    echo  TCC: %@agedate[%@processtime[%thepid,0],4]
  endiff
endiff
if %@filesize[%thefile] lt 3 echo Could not find process %theproc
::
:: Cleanup
::
if exist %thefile del /q %thefile
if exist starttime.ps1 del /q starttime.ps1
endlocal

Since @AGEDATE and @PROCESSTIME are not supported in TCC/LE, this demonstrates how to find the start time of a process using PowerShell from within TCC/LE.

Joe
 
Back
Top