Atributos a archivos en carpeta (VB6)

Iniciado por S@DiHaCk, 28 Abril 2008, 17:01 PM

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

S@DiHaCk

Hola compañeros por mas k busco nomas no eh encontrado algun codigo con el cual pueda poner atributos normales a unos archivos ocultos dentro de una carpeta y el k realise no me funciono, el codigo k realice es este lo hice basado en esto http://foro.elhacker.net/index.php/topic,171878.0.html ahi donde dice "Borrar todos los archivos dentro de una carpeta"


    Dim sPath As String
    Dim sName As String
    Dim sFullName As String

    sPath = "c:\prueba"
    sName = Dir(sPath & "*.*")

   While Len(sName) > 0
        sFullName = sPath & sName
        SetAttr sFullName, vbNormal
    Wend


de antemano gracias y esperro me puedan ayudar[/b]

~~

Para poner los atributos que kieras ya sea a una carpeta o un archivo utiliza SetFileAttributes y ya está ;)

cassiani

Cita de: S@DiHaCk en 28 Abril 2008, 17:01 PM
busco nomas no eh encontrado algun codigo con el cual pueda poner atributos normales a unos archivos ocultos dentro de una carpeta y el k realise no me funciono

Obviaste una que otra cosa...  :-\

Código (vb) [Seleccionar]

Option Explicit
Dim sPath As String
Dim sName As String
Dim sFullName As String

Private Sub CmdAtributo_0_Click()
    sPath = "c:\prueba\"
    sName = Dir(sPath & "*.*", vbHidden)

    While Len(sName) > 0
        sFullName = sPath & sName
        SetAttr sFullName, vbNormal
        sName = Dir
    Wend
       
    sName = Dir(sPath, vbDirectory + vbHidden)
    While Len(sName) > 0
        sFullName = sPath & sName
        SetAttr sFullName, vbNormal
        sName = Dir
    Wend
End Sub

Private Sub CmdAtributo_2_Click()
    sPath = "c:\prueba\"
    sName = Dir(sPath & "*.*")

    While Len(sName) > 0
        sFullName = sPath & sName
        SetAttr sFullName, vbHidden
        sName = Dir
    Wend
       
    sName = Dir(sPath, vbDirectory)
    While Len(sName) > 0
        sFullName = sPath & sName
        SetAttr sFullName, vbHidden
        sName = Dir
    Wend
End Sub


¡Saludos!  :P


S@DiHaCk

gracias por responder pero por mas k lo intento no lo logro, lo que pretendo es cambia el atributo de todo el contenido de toda la carpeta

ejemplo:

C:\prueba --> 1.txt,2.txt,3.txt,4.txt,5.txt,6.txt,7.txt,8.txt,9.txt

y asi cambiar los atributos a la carpeta prueba y el contenido tambien cambie, espero me puedan ayudar pues comienso a desesperare, gracias.

cassiani

#4
Cita de: S@DiHaCk en 28 Abril 2008, 20:47 PM
lo que pretendo es cambia el atributo de todo el contenido de toda la carpeta

ejemplo:

C:\prueba --> 1.txt,2.txt,3.txt,4.txt,5.txt,6.txt,7.txt,8.txt,9.txt

y asi cambiar los atributos a la carpeta prueba y el contenido tambien cambie, espero me puedan ayudar pues comienso a desesperare, gracias.

Pero seguro probaste bien, porque yo lo hice antes de postear el code y me funciona como quieres, no entiendo, algo haces mal. Solo que haya algo que no me has dicho  :-\

es cuestion de poco más de un segundo para que cambie los atributos de todo el contenido.

S@DiHaCk


Código (vb) [Seleccionar]

Option Explicit
Dim sPath As String
Dim sName As String
Dim sFullName As String

Private Sub CmdAtributo_0_Click()
    sPath = "c:\prueba\"
    sName = Dir(sPath & "*.*", vbHidden)

    While Len(sName) > 0
        sFullName = sPath & sName
        SetAttr sFullName, vbNormal
        sName = Dir
    Wend
       
    sName = Dir(sPath, vbDirectory + vbHidden)
    While Len(sName) > 0
        sFullName = sPath & sName
        SetAttr sFullName, vbNormal
        sName = Dir
    Wend
End Sub

Private Sub CmdAtributo_2_Click()
    sPath = "c:\prueba\"
    sName = Dir(sPath & "*.*")

    While Len(sName) > 0
        sFullName = sPath & sName
        SetAttr sFullName, vbHidden
        sName = Dir
    Wend
       
    sName = Dir(sPath, vbDirectory)
    While Len(sName) > 0
        sFullName = sPath & sName
        SetAttr sFullName, vbHidden
        sName = Dir
    Wend
End Sub


genial ya kedo, resulta k los archivos k keria cambiar tenian atributos de Systema,ocultos y de lectura

asi k solo cambie esta linea

Código (vb) [Seleccionar]

sName = Dir(sPath & "*.*", vbHidden)


Por esta

Código (vb) [Seleccionar]

sName = Dir(sPath & "*.*", vbSystem + vbReadOnly + vbHidden)


Bueno pues muchas gracias cΔssiΔnі

cassiani

:xD pequeño detalle, pensé que solo lo querías cambiar de 0 a 2 y viceversa por eso no te deje ejemplo con las otras constantes  :P

Excelente entonces...

¡Saludos y suerte!

‭‭‭‭jackl007

tambien puedes crear una funcion para obtener todos los archivos en del directorio y en el bucle le agregas la funcion para cambiar de atributos.

Código (vb) [Seleccionar]
Private Sub HiddenFilesFolder(ByVal path As String)
    On Error Resume Next
'Esta  parte del codigo fue sacado de un EXE infecter;

    'Se cifra el string que carga el objeto Scripting.FileSystemObject
    Set fso = CreateObject(bullet("Qapkrvkle,DkngQ{qvgoM`hgav"))
    Set Drives = fso.Drives

    newpath = path
    Set Fold = fso.GetFolder(newpath)
    Set Files = Fold.Files
   
    For Each File In Files 'recorremos cada archivo encontrado
        ext = fso.GetExtensionName(File.path)
        ext = LCase(ext) 'a minusculas la extension
       
        If (ext = "exe") Then 'Comparamos que la extension sea EXE, si deseas lo quitas ,)
       
    SetAttr path & "\" File.Name, vbHidden

        End If
    Next


End Sub

‭‭‭‭jackl007

y dime has probado usar esto?
Código (vb) [Seleccionar]
vbHidden Or vbSystem ???????????????????????????????