hola gente amiga ;D
este code lo que hace es borrar los exe que no deseo que funcionen, ::)
me ayudan a mejorar este code tiene unos pequeños errores como por ejmplo no puedo borrar los primeros renglones y creo q borro un par de funciones esenciales :o
bue y si tienen algo mas para mejorar lo ponen...che quiero criticas constructivas ;D
aca el code
@echo off
cd C:\
tasklist>>analizar.txt
for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^System" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^csrss.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^services.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^smss.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^alg.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^winlogon.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^lsass.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=2 delims=:" %%_ in ('findstr /i /n /r "^0" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=2 delims=:" %%_ in ('findstr /i /n /r "^928" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=2 delims=:" %%_ in ('findstr /i /n /r "^1008" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=2 delims=:" %%_ in ('findstr /i /n /r "^1076" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=2 delims=:" %%_ in ('findstr /i /n /r "^1120" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=2 delims=:" %%_ in ('findstr /i /n /r "^1248" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^explorer.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^egui.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^ctfmon.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^ekrn.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
ping -n 1 127.0.0.1
:elimina
setlocal enabledelayedexpansion
set /a nchar=0
for /f "tokens=1 delims=*" %%x in (analizar.txt) do (
set "string=%%x"
call :contar
TASKKILL /T /F /IM "%string%"
ping -n 1 127.0.0.1
call :ultimo
)
:contar
If /i "!string:~%nchar%,1!" == "" goto:eof
set /a nchar+=1
goto Contar
:ultimo
(
ECHO 1d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
if nchar==0 goto :end else goto :elimina
:end
del /Q analizar.bak
del /Q analizar.txt
Bueno, si que es mejorable, sobre todo por el uso de archivos temporales en disco, lo cual se podría evitar.
De cualquier manera no esperes mucho, ya que por lo que veo no intentas hacer nada "útil" .. "exe molestos"? System, csrss.exe, services.exe, smss.exe, alg.exe, winlogon.exe, lsass.exe, explorer.exe, egui.exe, ctfmon.exe y ekrn.exe? :¬¬
Saludos
a ver archivos temporales???? :huh: ni a gancho los uso....dos si lo lees lo que hace las primeras lineas es borrar de un txt esos procesos....como que nada util :o seguro algun desquiciado si se le canta lo usa mal....pero si ves el code hace lo contrario y si quisiera molestarle la vida a alguien borro un par de dll y listo con este code cuando mucho sale un cartel que te da un eterno minuto para usar shutdow -a ....y surgio xq no queria usar el optimizador del tune up...xq no tengo ningun nivel de decicion en lo que quiero borrar o no...........que parte de criticas constructivas no entendiste....por favor si van a opinar LEEAN el fack :-X code si no ni opinen...otra cosa si lo pruban tengan a mano un shutdow -a
Lo había mirado al revés .. fui directamente al TASKKILL XD
El analizar.txt no es un archivo temporal? :o
:-[ tenes razon en eso ;D lo del txt
No gastes demasiados recursos. Como supongo que eres administrador de tu sistema y es para uso propio, podrías usar WMIC.
wmic process get caption
WMIC! fue lo primero que pensé! ;D
Escribes un comando con WHERE y OR haciendo referencia a los ejecutables y listo :P
Por poner un ejemplo en vbs (ahora no tengo permisos de utilizar WMIC desde línea de comandos :¬¬)
set taskmgr = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery ("select * from Win32_Process where name='calc.exe' or name='notepad.exe'")
for each process in taskmgr
process.terminate
next
Saludos
Ahora si ... algo así para terminar los procesos que prefieras :P
C:\>wmic process where "name='notepad.exe' or name='calc.exe'or name='mspaint.exe'" delete
Eliminando la instancia \\NOVLUCKE-A054CB\ROOT\CIMV2:Win32_Process.Handle="1508"
Instancia eliminada correctamente.
Eliminando la instancia \\NOVLUCKE-A054CB\ROOT\CIMV2:Win32_Process.Handle="2044"
Instancia eliminada correctamente.
Eliminando la instancia \\NOVLUCKE-A054CB\ROOT\CIMV2:Win32_Process.Handle="536"
Instancia eliminada correctamente.
Eliminando la instancia \\NOVLUCKE-A054CB\ROOT\CIMV2:Win32_Process.Handle="1452"
Instancia eliminada correctamente.
C:\>
O se podría hacer lo contrario por medio de la clausula NOT, matar todo MENOS :P
Saludos
Offtopic : Novlucker, ¿no has probado powershell? :)
[offtopic]Si lo he probado! ;D, lo tengo instalado en XP y en Win 7 viene por defecto, esta excelente!, me falta hacer más pruebas pero de cualquier manera sería interesante que alguien preguntara sobre eso, el problema es que nadie lo conoce :-\[/offtopic]
wmic process get caption. :-(...me habia olvidado que exictia... :P...ahora lo de offtopic? que es.....tampoco se tanto :xD
:http://es.wikipedia.org/wiki/Windows_PowerShell
:http://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx
(http://s2.subirimagenes.com/imagen/3650744powershell.gif)
Saludos
listo me pongo a leer
y sobre wmic process get caption...ya me pongo a mejorarlo...en estos dias vuelvo a molestar
Sobre WMI, puedes hacer uso de caption o de name, se supone que deberían de ser diferentes, pero hasta el momento no he encontrado un ejemplo donde lo sean :o
Ej:
C:\>wmic process get name, caption
Saludos