Archivos, operar con archivos según sus propiedades

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
qpongo
Hacker del Foro
Mensajes: 110
Registrado: 10 Abr 2013, 15:53
Ubicación: Madrid

Archivos, operar con archivos según sus propiedades

Mensaje por qpongo »

Hola otra vez... :smt006 saludos para todos.... :smt003

Help!! :smt100

En un directorio compartido en una red dónde los usuarios van creando o dejando archivos necesito:

Seleccionar los que pertenezcan a un usuario concreto para luego moverlos a un directorio.
En mi Windows XP veo quién es el propietario de cada archivo pero no sé como puedo seleccionarlo con Autoit para hacer un FileMove. He estado buscando la forma pero no la encuentro.

Muchas gracias,

qpongo :smt102
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Archivos, operar con archivos según sus propiedades

Mensaje por Dany »

Prueba esta funcion a ver si sirve?

Código: Seleccionar todo

Func _GetOwner ($sFilePath)
  Local $objSD
  $objWMIService = ObjGet("winmgmts:")
  $objFileSecuritySettings = _
  $objWMIService.Get("Win32_LogicalFileSecuritySetting='" & $sFilePath & "'")
  $intRetVal = $objFileSecuritySettings.GetSecurityDescriptor($objSD)

  If $intRetVal = 0 Then
    Return $objSD.Owner.Domain & "" & $objSD.Owner.Name
  Else
    Return -1
  EndIf
EndFunc
Saludos
  • ............................................Imagen
    ......................................Imagen
qpongo
Hacker del Foro
Mensajes: 110
Registrado: 10 Abr 2013, 15:53
Ubicación: Madrid

Re: Archivos, operar con archivos según sus propiedades

Mensaje por qpongo »

Muchas gracias Dany,

Tu función casi seguro que me sirve y seguro que está bien... el problema es el habitual; que yo entienda algo :smt022
Imagino que le tengo que poner el directorio que debe examinar.... quiero que sea L:\ por eso le he asignado ese valor a $sFilePath
Y tendré que decirle el código de usuario que quiero buscar "JYL_26_\jose_l_r"

Aunque al hacerlo correr así tal cual, no da error, tampoco hace nada.

Ya ves que mi nivel aún es muyyyy bajo, perdona, aunque ya estoy consiguiendo resultados con las cositas que voy aprendiendo.

Código: Seleccionar todo

Func _GetOwner ($sFilePath)
  $sFilePath = "L:\" ; Directorio dónde quiero buscar
  Local $objSD
  $objWMIService = ObjGet("winmgmts:")
  $objFileSecuritySettings = "JYL_26_\jose_l_r"; Nombre de usuario a encontrar para seleccionar
  $objWMIService.Get("Win32_LogicalFileSecuritySetting='" & $sFilePath & "'")
  $intRetVal = $objFileSecuritySettings.GetSecurityDescriptor($objSD)
  If $intRetVal = 0 Then
    Return $objSD.Owner.Domain & "" & $objSD.Owner.Name
  Else
    Return -1
  EndIf
EndFunc
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Archivos, operar con archivos según sus propiedades

Mensaje por Dany »

tienes que hacer lo siguiente.


listas los archivos del directorio, a cada uno le aplicas la función. si corresponde con el usuario lo copias.

o que parte exactamente no entiendes como hacer?
Saludos
  • ............................................Imagen
    ......................................Imagen
qpongo
Hacker del Foro
Mensajes: 110
Registrado: 10 Abr 2013, 15:53
Ubicación: Madrid

Re: Archivos, operar con archivos según sus propiedades

Mensaje por qpongo »

Gracias otra vez Dani,

No te preocupes, con lo que me has dicho mañana lo intento.

Jose
Responder