Gå til innhold

Batch fil som finner ut om en gitt prosess kjører?


Anbefalte innlegg

Heisann!

Jeg driver å skriver et par batchfiler (.bat) som skal brukes til å ta opp video på pc'en min.

I den anledning har jeg lett etter en kommando som finner ut om en gitt prosess kjører.

Har søkt en del rundt, og mye av det jeg har funnet likner på dette:

IF TASKEXIST=="prosessnavn.exe" etc.

Noen som har kjennskap til noe jeg kan bruker her?

Endret av Framerate
Lenke til kommentar
Videoannonse
Annonse

Et alternativ er dette vbs-scriptet som gjør jobben:

 

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\." _ 
& "\root\cimv2") 
Set prosess = objWMIService.ExecQuery _
("Select * from Win32_Process")
For Each x in prosess
If x.name = "notepad.exe" Then 'sett inn prosessnavnet her
MsgBox(x.name & " kjører!")
wscript.quit
End if
Next
MsgBox("din prosess kjører ikke!")
WScript.Quit

Lenke til kommentar
Et alternativ er dette vbs-scriptet som gjør jobben:

 

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\." _ 
& "\root\cimv2") 
Set prosess = objWMIService.ExecQuery _
("Select * from Win32_Process")
For Each x in prosess
If x.name = "notepad.exe" Then 'sett inn prosessnavnet her
MsgBox(x.name & " kjører!")
wscript.quit
End if
Next
MsgBox("din prosess kjører ikke!")
WScript.Quit

8332058[/snapback]

 

Oi.. det var litt mer komplisert enn jeg hadde tenkt meg :p

Hvordan får du dette til å fungere sammen med en .bat fil?

 

start /min /b kanskje?

8332060[/snapback]

 

start /min /b gjorde ikke noe forskjell :(

Lenke til kommentar
Et alternativ er dette vbs-scriptet som gjør jobben:

 

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\." _ 
& "\root\cimv2") 
Set prosess = objWMIService.ExecQuery _
("Select * from Win32_Process")
For Each x in prosess
If x.name = "notepad.exe" Then 'sett inn prosessnavnet her
MsgBox(x.name & " kjører!")
wscript.quit
End if
Next
MsgBox("din prosess kjører ikke!")
WScript.Quit

8332058[/snapback]

 

Oi.. det var litt mer komplisert enn jeg hadde tenkt meg :p

Hvordan får du dette til å fungere sammen med en .bat fil?

 

start /min /b kanskje?

8332060[/snapback]

 

start /min /b gjorde ikke noe forskjell :(

8333985[/snapback]

 

Kan du ikke bare bruke VBScript istedet? mye mer fleksibelt.

WMI er ganske genialt :) der kan du hente alt som er av informasjon om software og hardware.

Lenke til kommentar
Kan du ikke bare bruke VBScript istedet? mye mer fleksibelt.

WMI er ganske genialt :) der kan du hente alt som er av informasjon om software og hardware.

 

Batchfilen skal brukes sammen med schedule programmet cron (nncron), så etter det jeg har skjønt kan det desverre ikke være et WBScript..

 

Men det burde da ikke være så vanskelig å få til med en .bat fil (?)

Jeg mener.. IF EXIST kommandoen har iallefall potensialet...

Får lese litt mer.

Lenke til kommentar

Jeg fant en måte å jobbe rundt problemet på.

Å kunne vite om en prosess kjørte ville ha vært en mer elegant måte å utføre oppgaven det er snakk om på, men denne metoden ser ut til å gjøre jobben...

 

Jeg har likevel ikke funnet en metode å starte et program skjult på enda...

Noen som har noe kunnskap på dette område å dele? :whistle:

Lenke til kommentar
Oi.. det var litt mer komplisert enn jeg hadde tenkt meg

Hvordan får du dette til å fungere sammen med en .bat fil?

 

Ingen grunn til å ha aversjon mot vbs, det taper du stort på iallfall som "systemadministrator"! Du kan lett inkludere kjøring av vbs-script i bat-filer som f.eks. slik:

 

@echo off

start mittProgram.vbs

 

Legg vbs-fila i samme mappe som bat-fila!

 

Har du fortsatt lyst på vbs, fikses bat-stealth for eksempel slik:

 

Set WshShell = WScript.CreateObject("WScript.Shell")

Return = WshShell.Run("doffen.bat",0,True) 'sett inn din bat-fil her

 

Lagre med fil-etternavnet vbs (f.eks. kokko.vbs) i samme mappe som bat-fila og dobbelklikk så kokko.vbs, og bat-fila blir kjørt i stealth mode.

 

Edit: Et problem med vbs-script er at enkelte antivirusprogrammer som baserer seg på tekst-matching, kan reagere på dem. Disse antivirusprogrammer kan man mer eller mindre "lure" dersom man først krypterer vbs-scriptet med Microsoft sitt screnc.exe (gratisprogram) og gir output-fila fil-etternavnet vbe istedet for vbs. Screnc.exe støtter også enkeltstående js-script (javascript).

Endret av backup
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...