Hans_Henrik Skrevet 24. august 2008 Del Skrevet 24. august 2008 (endret) jeg prøver og lage en script som vill lese fra ett text-dokument, analysere hvis linjen starter med "rem" (og i isåfall, ignorere det), der har jeg litt problemer... rem credit to aklla "for" the code ^^ @echo off for /F "delims=~" %%b IN (C:\ProcessList.txt) DO if %%b GTR rem ( rem its a rem...¨ echo ITS A REM!!!! echo THIS: %%b is a rem!! ) ELSE ( taskkill /IM "%%b" /F ) pause (de 2 echo'ene under rem er bare for testing) nå.. det virker mesteparten av tiden, men "GTR rem" virker også på... noen random? ord fex: "smss.exe" er "rem~" "crss.exe" er ikke rem "sqlservr.exe" er "rem~" "bdss.exe" er ikke "rem~" "YahooMessenger.exe" er "rem~" og jeg aner ikke hvorfor pokker den kaller noen ord [som ikke engang inneholder ordene "rem"] for rem~ noen som har noen svar/ider om en annen måte og gjøre det på/somthin else? Endret 24. august 2008 av Hans_Henrik Lenke til kommentar
trtrtr Skrevet 24. august 2008 Del Skrevet 24. august 2008 hei, her et et batch script som kanskje gjør det du forsøker på?: Det er en "add-on" til taskkill.exe, slik at vi for eksempel kan skrive: tk.bat word og winWORD.exe, WORDpad.exe etc vil avsluttes. @echo off set procToKill=%1 if "%procToKill%"=="" goto :ShowHelp if "%1"=="/?" goto :ShowHelp FOR /F "tokens=1,2 delims= " %%G IN ('tasklist /nh^|find /i "%procToKill%"' ) do call :KillProc %%G %%H goto :END :KillProc rem Input is processname (%1) and PID (%2) if "%2"=="" goto :EOF rem echo killing process (%1) with pid (%2) taskkill /F /PID %2 goto :EOF :EOF :ShowHelp echo Grep process killer. echo Specify name (or part of name) of process to kill. goto :END :END om du forøvrig bytter ut taskkill med fkill (gnu sak, minst dobbel så rask) og tasklist med pslist, får får du kjappere script. ang spm ditt om å sjekke for en string i en annen string, ser dette ut til å virke (men en stygg løsning?). Ser på errorlevel fra find kommandoen. Errorlevel inneholder returverdi fra siste kommando som ble kjørt. @echo off rem test the function call :CheckForSubstr abc123def 123 goto :END :CheckForSubstr rem %1 is string to search, %2 is substring to search for echo %1 | find /i "%2" 1>NUL if %ERRORLEVEL% EQU 0 echo found (%2) in (%1) rem ..do whatever call :EOF :EOF :END Lenke til kommentar
aklla Skrevet 25. august 2008 Del Skrevet 25. august 2008 hehe, sweet med cred`s til meg da håper du har fått svar på det du lurte på fra trtrtr, har ikke tid til å se på det selv nå... Lenke til kommentar
Hans_Henrik Skrevet 25. august 2008 Forfatter Del Skrevet 25. august 2008 (endret) @trtrtr FOR /F "tokens=1,2 delims= " %%G IN ('tasklist /nh^|find /i "%procToKill%"' ) do call :KillProc %%G %%H "tasklist" skal det være till txt filen? (som C:\List.txt) ? edit: og... fant ikke noe sted og laste ned fkill.exe fant denne source-koden da ^^ @aklla vell, den "for" scripten hjalp meg da første gang jeg sjekka "help for" Endret 25. august 2008 av Hans_Henrik Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå