Ver procesos o servicio que usan un archivo. Batch

Iniciado por Dany3j, 28 Julio 2011, 20:18 PM

0 Miembros y 2 Visitantes están viendo este tema.

Dany3j

Hello tengo una pequeña duda es posible saber que proceso o servio utilizan un archivo X por ejemplo un archivo.dll o archivo.exe

Estoy creando un Batch para borrar un archivo que no se deja borrar, porque esta siendo usado por otro proceso. entonces quiero ver si es posible saber que proceso lo usa cerrar el proceso y borrarlo.

Creo que no es posible  :¬¬
"Pensando en Batch" XD

SuperDraco

de que archivo estamos hablando...?

Lo pregunto porque, si por ejemplo abres un editor de video, reproduces un video, y luego intentas borrar el archivo. es porque el archivo está siendo usado por el editor.

En cambio, si quieres borrar un archivo que está siendo usado por algún servicio de windows, se trata de una dependencia.

son dos casos distintos... por eso...

Lo primero no creo que se pueda saber.

Lo segundo si.
No he vuelto, solo estoy de paso.

Novlucker

Eso mismo iba a decir, igual que manía de reinventar la rueda :xD
Process Explorer de Sysinternals y/o Unlocker de otra empresa :xD

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Dany3j

ok lo que pasa que hace tiempo use un programa no me acuerdo el nombre que podia ver que archivos estaba usando algun proceso.

La finalidad del proyecto esque en ocasiones me infecto de virus y no puedo borrar algun archivo que forma parte del virus por ejemplo cuando intento borrar el archivo virus.exe me dice que no se puede borrar. y aveces con alguna libreria.dll porque esta ciendo usada por algun proceso. entonces lo que quieero es saber si se puede por ejmplo arrastrar el archivo a un bat y que mate el proceso que lo usa y borre el archivo algo asi me entiendes.
"Pensando en Batch" XD

leogtz

Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Novlucker

Eso para linux, sino antes te he nombrado dos tools que hacen eso

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Dany3j

Si es verdad lo de process explorer siempre lo uso... pero digo si esto es posible en batch. Creo que fileassesin el programa para borrar archivo tiene algo parecido paraa borrar archivos, mata los procesos que usan el archivo sino me equivoco
"Pensando en Batch" XD

SuperDraco

pues si,el process explorer se usa así xD

procexp.exe /s:2020

(Aunque se abre la ventana del programa.)

el número es el PID, y para saber el PID de un processo puedes usar:

tasklist /FI "IMAGENAME EQ firefox.exe"

No he vuelto, solo estoy de paso.

leogtz

Cita de: Novlucker en 28 Julio 2011, 20:45 PM
Eso para linux, sino antes te he nombrado dos tools que hacen eso

Saludos


De ahí en "on Windows" ..., hay muchas herramientas de Linux pasadas a Windows y funcionan excelente.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Dany3j

Ok pero digo por ejemplo.  cuando uso el comando Tasklist /m muestra los archivos.dll que usa cada proceso. entonces por ejemplo si trato de borrar un dll de estos me deberia salir un error. en cambio si matara los procesos que usan el archivo.dll me permitiria borrar el archivo.dll

Pero beberia haber una funcion en el bat que analizara si el archivo.dll que intento borrar forma parte de uno de los procesos si fuera asi se activara un taskkill y luego del del para el archivo. digo yo jeje que deberia ser asi.  :P
"Pensando en Batch" XD