none
Eliminar archivo en uso de un servidor. RRS feed

  • Pregunta

  • Tengo archivos en un servidor que se crear automaticamente , luego necesito eliminarlos manualmente al margen que esten o no en uso o no.

    El problema es que si el archivo esta en uso , no me permite eliminar el archivo.

     

    Por tal razon entro en mi servidor w2003 a:

    Administracion de equipos ---> Herramientas del sistema-->carpetas compartidas-->archivos abiertos : luego me aparece una lista de archivos abiertos y quien que usuario los tiene abierto , selecciono el que deseo cerrar y listo.

    Despues de realizar esta operacion es que recin puedo eliminar el archivo fisicamente.

    Deseo hacer esta rutina de manera automatica en vb 6.0 o .net , por lo menos el CERRAR UN ARCHIVO ABIERTO EN EL SERVIDOR , y luego la rutina e eliminado de archivo que eso ya mes mas facil.

    Estimados colegas , les agradesco de antemano por su apoyo.

     

    Muchas Gracias.


    Rolando Lau Project Management
    jueves, 14 de abril de 2011 21:47

Todas las respuestas

  • Con este truco podrás eliminar un proceso que corre en la memoria. Para implementarlo basta con copiar el código fuente en un modulo de Visual Basic 6.0 y realizar la llamada con la función:

     

    KillProcess(“nombreProceso”). Si existe mas de un proceso con el mismo nombre eliminará todos los procesos con ese nombre.


    Public Sub KillProcess(ByVal processName As String)
    On Error GoTo ErrHandler
    Dim oWMI
    Dim ret
    Dim sService
    Dim oWMIServices
    Dim oWMIService
    Dim oServices
    Dim oService
    Dim servicename
    Set oWMI = GetObject("winmgmts:")
    Set oServices = oWMI.InstancesOf("win32_process")
    For Each oService In oServices

    servicename = LCase(Trim(CStr(oService.Name) & ""))

    If InStr(1, servicename, LCase(processName), vbTextCompare) >; 0 Then
    ret = oService.Terminate
    End If

    Next

    Set oServices = Nothing
    Set oWMI = Nothing

    ErrHandler:
    Err.Clear
    End Sub

    KillProcess ("explorer.exe" )

    Lo siguiente es eliminar el arhcivo lo realizas con esta instruccion

    ' Assume TESTFILE is a file containing some data.
    Kill("TestFile")   ' Delete file.

    ' Delete all *.TXT files in current directory.
    Kill("*.TXT")

     

    Capacitaciones Corporativas


    Capacitaciones Corporativas
    viernes, 27 de enero de 2012 2:47