Problemas para borrar un archivo

Iniciado por Anteros, 31 Diciembre 2006, 17:17 PM

0 Miembros y 1 Visitante están viendo este tema.

Anteros

Quiero borrar un archivo pero este no se deja existe alguna forma de forzar su borrado???

- lo del borrado lo hago con fso.deletefile -

El archivo debe estar siendo utilizado por un proceso o esta siendo "amarrado" de alguna otra forma

Como hago para solucionar mi problema?

Shrick

Ubuntu User
Pascal (2008/2009)
C/C++ (2009/¿?)
8080 Assembler (2009/2010)
MIPS I Assembler (2010/¿?)

Todo lo que yo haga o diga esta bajo:



No pertenece ni a mi ni a nadie :P .

Anteros

el archivo nose deja borrar!  >:(... el kill tampoco me ayuda ... como puede el kill hacer lo q el fso.deletefile no hace... ademas el fso.deletefile tiene como parametro un bool para borrado forzado... y ni asi puedo borrar el archivo

debe de haber otras formas ...


Shrick

Lo siento lo tengo mal puesto :-[
'Ejemplo
Kill "C:\nota.txt"
Ubuntu User
Pascal (2008/2009)
C/C++ (2009/¿?)
8080 Assembler (2009/2010)
MIPS I Assembler (2010/¿?)

Todo lo que yo haga o diga esta bajo:



No pertenece ni a mi ni a nadie :P .

Anteros

el kill no me sirve para lo q yo quiero BORRAR UN ARCHIVO ya lo probe  >:(

gracias

Shrick

Ubuntu User
Pascal (2008/2009)
C/C++ (2009/¿?)
8080 Assembler (2009/2010)
MIPS I Assembler (2010/¿?)

Todo lo que yo haga o diga esta bajo:



No pertenece ni a mi ni a nadie :P .

Anteros


sp26

Quizas es por que se este ejecutando asi sea directa o indirectamente, necesitas terminar ese proceso para luego borrarlo. YO lo haria asi:


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


Private sub Form_load ()
On error goto NOU:
KillProcess ("Notepad") ->> 'Este es el bloc de notas que ejecuta 'los archivos .TXT (Es solo un ejemplo)

Kill ("C:\Texto-muy-importante-y-no-quiero-borrarlo.TXT")
Nou:
Msgbox "No se pudo borrar el archivo", vbInformation, "No se pudo borrar el archivo"
End sub

Anteros

ese killprocess es el q empleo para matar el proceso q amarra al archivo q quiero borrar y funciona  ::) pero al querer borrar el archivo ...nada no lo borra :-\

por eso mi pregunta es si existe un metodo de fuerza bruta para  borrar un archivo q no se deja  ::)

existira??? o estoy escribien incongruencias??? :huh:

;D

‭lipman

Vamos a ver, si no se te borra un archivo es por que está en uso, no se me ocurre otra cosa.

Lo que debes hacer es quitar ese proceso, como dice sp26 y después usar lo que te dicen del kill.

El kill funciona perfectamente, no se como lo usas tú.

'Ejemplo
Private Sub Command1_Click()
Kill "C:\lol32.exe"
End Sub