Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Mad Antrax

#21
No había leído esa biblia jajaja. Dame un tiempo que pueda leerlo todo bien y despacio y te respondo a todas tus preguntas, vale? Saludos
#22
No he entendido nada xD
#23
jajaj, te saliste Eleкtro ;-)

Sí, yo adoro VBS, hoy en día es el único lenguaje que utilizo de forma profesional en el trabajo y la verdad me permite resolver todos los problemas y necesidades que se me plantean en el trabajo. Tu script en .net es awesome y mas elaborado con el control de errores y permisos, en definitiva; una pasada de codigo.

Un saludo jefe ;D
#24
Cita de: elqueteconte en  9 Octubre 2015, 17:17 PM
Me haz dejado loco jajajajaja.

Gracias mil.

Pensé en hacerlo en VB.net.

Voy a darle por allí a ver que logro.

Te podré contactar por este hilo o abro uno nuevo?

Aquí lo tienes

Código (vb) [Seleccionar]
Set oFSO = CreateObject("Scripting.FileSystemObject")

iMes = InputBox("Introduce el mes: ")

If isNumeric(iMes) = False Then
While isNumeric(iMes) = False
MsgBox "Solo se permiten valores numéricos", vbExclamation + vbOkOnly
iMes = InputBox("Introduce el mes: ")
Wend
End If

If iMes < 1 Or iMes > 12 Then
While iMes < 1 Or iMes > 12
MsgBox "Solo se permiten valores numéricos entre 1 y 12", vbExclamation + vbOkOnly
iMes = InputBox("Introduce el mes: ")
Wend
End If

Select Case iMes
Case 1
sMes = "Enero"
Case 2
sMes = "Febrero"
Case 3
sMes = "Marzo"
Case 4
sMes = "Abril"
Case 5
sMes = "Mayo"
Case 6
sMes = "Junio"
Case 7
sMes = "Julio"
Case 8
sMes = "Agosto"
Case 9
sMes = "Septiembre"
Case 10
sMes = "Octubre"
Case 11
sMes = "Noviembre"
Case 12
sMes = "Diciembre"
End Select

sFolder = sMes & Year(Now)

If oFSO.FolderExists(sFolder) = True Then
MsgBox "La carpeta " & sFolder & " ya existe", vbInformation + vbOkOnly
Else
MsgBox "La carpeta " & sFolder & " no existe", vbInformation + vbOkOnly
oFSO.CreateFolder(sFolder)
End If

Parent = oFSO.GetParentFolderName(WScript.ScriptFullName)

Set Folder = oFSO.GetFolder(Parent)
Set SubFolder = Folder.SubFolders
For Each SubFolders in SubFolder
If isNumeric(SubFolders.Name) = True Then
If Len(SubFolders.Name) = 8 Then
If CInt(Mid(SubFolders.Name, 5, 2)) = CInt(iMes) Then
Call oFSO.MoveFolder(Parent & "\" & SubFolders.Name, Parent & "\" & sFolder & "\" & SubFolders.Name)
End If
End If
End If
Next
msgbox "Script finalizado"


Funciona si la estructura de carpetas es "AÑO MES DIA", por ejemplo:

20150327

El Script, después de introducir 3 (marzo) te moverá las carpetas cuyo nombre sea xxxx03xx dentro de Marzo2015

Lee las líneas, se entienden solas.
#25
Te veo perdido jejeje, pero al menos veo que te has buscado las castañas y no vas mal encaminado.

Estoy en una partida de league of legends, dame 30 minutos y te respondo con el codigo correcto
#26
Bueno, si te sirve de algo te diré que no vas ni por la mitad del reto :)
#27
Seguridad / Re: Virus publicitario
9 Octubre 2015, 20:04 PM
Si puedes, postea una copia del malware que te ha entrado. Adoro analizar malware, ademas es más facil dar con la solución.
#28
Cita de: elqueteconte en  9 Octubre 2015, 17:17 PM
Me haz dejado loco jajajajaja.

Gracias mil.

Pensé en hacerlo en VB.net.

Voy a darle por allí a ver que logro.

Te podré contactar por este hilo o abro uno nuevo?

Utiliza éste

Mi codigo es VBS, copia y pega todo el codigo en un "bloc de notas" (notepad) y guarda el contenido con el nombre que desees, pero asegúrate de guardarlo con la extensión .vbs al final. Le das doble-click y lo pruebas.

Verás que he implementado las opciones 1, 2 y 3. Falta la 4 que es un poco más compleja. Necesitarás saber el formato de nombres EXACTO que se utiliza en las carpetas existentes, hacer un Mid() para leer la posición del mes en el nombre, comparar y luego llamar a la función CopyFolder o MoveFolder del objeto oFSO

Si tienes dudas pregunta por aquí mismo
#29
Cita de: elqueteconte en  9 Octubre 2015, 16:37 PM
Saludos;

Yo tengo que hacer algo parecido pero de la siguiente manera:
1.- El usuario indica (en numeros) el mes. Es decir que hay que validar que solo coloque dos caracteres y que sean numeros entre 01 y 12.
2.- Verificar si la carpeta mes con el año está creada. Ejemplo: Si el usuario indica 09 entonces la carpeta sería Septiembre2015.
3.- Si la carpeta no existe;se crea la carpeta con el mes y el año, ejemplo Septiembre2015
4.- Buscar en el directorio donde se está ejecutando el bath todas las carpetas cuya estructura sea año, mes, dia corresponda al mes de la carpeta que acabo de crear y mover esas carpetas a la que acabo de crear. Ejemplo
Si cree la carpeta miruta/Septiembre2015 y en miruta/ hay carpetas 20150901, 20150902 ... hasta 20150930 y moverla a  miruta/Septiembre2015

Me podrías orientar en como hacerlo, no tengo ni idea.

Desde ya mil gracias....


Te ayudo un poquito... lo he programado en VBS en lugar de Bat/Batch, es un lenguaje mucho más sencillo de implementar bajo mi punto de vista:

Código (vb) [Seleccionar]
'1.- El usuario indica (en numeros) el mes. Es decir que hay que validar que solo coloque dos caracteres y que sean numeros entre 01 y 12.
'2.- Verificar si la carpeta mes con el año está creada. Ejemplo: Si el usuario indica 09 entonces la carpeta sería Septiembre2015.
'3.- Si la carpeta no existe;se crea la carpeta con el mes y el año, ejemplo Septiembre2015
'4.- Buscar en el directorio donde se está ejecutando el bath todas las carpetas cuya estructura sea año, mes, dia corresponda al mes de la carpeta que acabo de crear y mover esas carpetas a la que acabo de crear. Ejemplo
'Si cree la carpeta miruta/Septiembre2015 y en miruta/ hay carpetas 20150901, 20150902 ... hasta 20150930 y moverla a  miruta/Septiembre2015

Set oFSO = CreateObject("Scripting.FileSystemObject")

iMes = InputBox("Introduce el mes: ")

If isNumeric(iMes) = False Then
While isNumeric(iMes) = False
MsgBox "Solo se permiten valores numéricos", vbExclamation + vbOkOnly
iMes = InputBox("Introduce el mes: ")
Wend
End If

If iMes < 1 Or iMes > 12 Then
While iMes < 1 Or iMes > 12
MsgBox "Solo se permiten valores numéricos entre 1 y 12", vbExclamation + vbOkOnly
iMes = InputBox("Introduce el mes: ")
Wend
End If

Select Case iMes
Case 1
sMes = "Enero"
Case 2
sMes = "Febrero"
Case 3
sMes = "Marzo"
Case 4
sMes = "Abril"
Case 5
sMes = "Mayo"
Case 6
sMes = "Junio"
Case 7
sMes = "Julio"
Case 8
sMes = "Agosto"
Case 9
sMes = "Septiembre"
Case 10
sMes = "Octubre"
Case 11
sMes = "Noviembre"
Case 12
sMes = "Diciembre"
End Select

sFolder = sMes & Year(Now)

If oFSO.FolderExists(sFolder) = True Then
MsgBox "La carpeta " & sFolder & " ya existe", vbInformation + vbOkOnly
Else
MsgBox "La carpeta " & sFolder & " no existe", vbInformation + vbOkOnly
oFSO.CreateFolder(sFolder)
End If


Verás que el punto (4) no lo he programado, te lo dejo para ti :) con el objeto oFSO podrás hacerlo sin problemas. Si tienes dudas pregunta, pero dale un poco al coco :)
#30
No se utilizó ningún programa. Lo tienes todo explicado entre la pagina 2 y 3