elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Command$ extraer archivos.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Command$ extraer archivos.  (Leído 6,298 veces)
LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Command$ extraer archivos.
« en: 13 Febrero 2011, 18:43 pm »

Hola una pregunta, como puedo obtener la lista de archivos de la linea de argumentos Command$

por ejemplo:
Código:
C:\Proyecto1.exe "C:\reto 123.exe" C:\imagen.png

cuando la ruta de un archivo tiene espacio windows pone " , de lo contrario solo separa un archivo de otro con espacios

cual es la logica para estraer los archivos de la linea de comando.

Saludos.


En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Command$ extraer archivos.
« Respuesta #1 en: 13 Febrero 2011, 19:17 pm »

Hola, Leandro, claro, pasa lo mismo cuando queres ejecutar un archivo desde un path con espacios desde el ejecutar de windows o desde la consola, para eso esta el path corto, pero me imagno que haciendo un split por los espacios y despues reemplazando las comillas no hay problema no ?

saludos.


En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: Command$ extraer archivos.
« Respuesta #2 en: 13 Febrero 2011, 19:35 pm »

Ya seba123neo, pero si el archivo lleva comillas? :rolleyes:
A mi se me ocurre algo así:

Código
  1. Public Function GetFiles(ByVal strText As String) As Collection
  2. Dim cTemp                       As New Collection
  3. Dim oRegExp                     As Object
  4. Dim oMatch                      As Object
  5. Dim oMatches                    As Object
  6.  
  7.    Set oRegExp = CreateObject("VBScript.RegExp") 'Evitamos la referencia
  8.  
  9.    With oRegExp
  10.        '// Sería similar a esta, lo único modificar los [\w\s\.] para que acepten algunos símbolos más... xP
  11.        .Pattern = "\s?([\w\s\.]+\:\\([\w\s\.]+\\?)[\w\s\.]+(\.\w{1,})?)\s?"    '// No incluye verificación de ruta (pero... ¿no hace falta no?)
  12.        .Global = True
  13.        .IgnoreCase = True
  14.    End With
  15.  
  16.    Set oMatches = oRegExp.Execute(strText)
  17.  
  18.    For Each oMatch In oMatches
  19.        cTemp.Add oMatch.SubMatches(0)
  20.    Next
  21.  
  22.    Set GetFiles = cTemp
  23. End Function
  24.  
  25. Private Sub Form_Load()
  26. Dim vItem                       As Variant
  27. Const S                         As String = "C:\Frog\Proyecto1.exe ""C:\reto 123.exe"" C:\imagen.png"
  28.    For Each vItem In GetFiles(S)
  29.        MsgBox vItem
  30.    Next
  31. End Sub

Ojalá te sirva ;)

DoEvents! :P
« Última modificación: 13 Febrero 2011, 19:44 pm por Mr. Frog © » En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Command$ extraer archivos.
« Respuesta #3 en: 13 Febrero 2011, 19:38 pm »

que yo sepa un nombre de archivo no puede tener comillas dobles...
En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: Command$ extraer archivos.
« Respuesta #4 en: 13 Febrero 2011, 19:47 pm »

que yo sepa un nombre de archivo no puede tener comillas dobles...
Oops :-X
Fallo mio... :xD
No me di cuenta, aún así mi manera es correcta :silbar:
Lo que queria decir es que si haces Split() para sacar los nombres usando " " como delimitador, te cortará el la ruta en trozos suponiendo que este lleve espacios dentro. :)

DoEvents! :P
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Command$ extraer archivos.
« Respuesta #5 en: 13 Febrero 2011, 20:33 pm »

Y no necesariamente tienen que estar la ruta entera del archivo. Hay programas que funcionan con archivos en el mismo directorio de trabajo, ej

C:\framework\proyecto1.exe archivo1.txt

archivo1.txt esta en la misma carpeta.

La logica seria primero extraer todo lo que esta entre comillas, y luego separar el resto por espacios :P
En línea

ignorantev1.1


Desconectado Desconectado

Mensajes: 617


/\ Así acabo cuando quiero programar...


Ver Perfil WWW
Re: Command$ extraer archivos.
« Respuesta #6 en: 13 Febrero 2011, 21:05 pm »

Ahi va rusticamente  ;D
Código
  1. Sub getFiles(ByVal args As String, res() As String)
  2.    Dim i As Integer
  3.    Dim e As Integer
  4.    Dim sTmp As String
  5.  
  6.    i = InStr(args, Chr$(34))
  7.    While i > 0
  8.        e = InStr(i + 1, args, Chr$(34))
  9.        sTmp = Mid(args, i, e)
  10.        args = Replace(args, sTmp, Replace(Mid(sTmp, 2, Len(sTmp) - 2), " ", "|"))
  11.        i = InStr(e, args, Chr$(34))
  12.    Wend
  13.    args = Replace(args, " ", "*")
  14.    args = Replace(args, "|", " ")
  15.    res = Split(args, "*")
  16.    e = 0
  17.    For i = 0 To UBound(res) - 1
  18.        If res(i + 1) = "" Then
  19.            i = i + 1
  20.        ElseIf res(i) = "" Then
  21.            res(i) = res(i + 1)
  22.            i = i - 1
  23.            e = e + 1
  24.        End If
  25.    Next
  26.    If e > 0 Then
  27.        ReDim Preserve res(e - 1)
  28.    Else
  29.        'Erase res <----
  30.        ReDim res(0)
  31.    End If
  32. End Sub
  33.  
En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: Command$ extraer archivos.
« Respuesta #7 en: 13 Febrero 2011, 21:47 pm »

Hola, no funcionan,  la de ignorantev1.1  no me devuelve nada, y la de Mr. Frog me esta devolviendo el path y cortado

proba con este ejemplo

Código:
"C:\Documents and Settings\Administrador\Escritorio\proRegEdit.exe" "C:\Documents and Settings\Administrador\Escritorio\MSNOIE8_ESES_XP.EXE"

Saludos.


En línea

ignorantev1.1


Desconectado Desconectado

Mensajes: 617


/\ Así acabo cuando quiero programar...


Ver Perfil WWW
Re: Command$ extraer archivos.
« Respuesta #8 en: 13 Febrero 2011, 22:05 pm »

Disculpa LeandroA tenia un errocito  ;) listo!
Código
  1. Sub getFiles(ByVal args As String, res() As String)
  2.    Dim i As Integer
  3.    Dim e As Integer
  4.    Dim sTmp As String
  5.  
  6.    i = InStr(args, Chr$(34))
  7.    While i > 0
  8.        e = InStr(i + 1, args, Chr$(34))
  9.        sTmp = Mid(args, i, e)
  10.        args = Replace(args, sTmp, Replace(Mid(sTmp, 2, Len(sTmp) - 2), " ", "|"))
  11.        i = InStr(e, args, Chr$(34))
  12.    Wend
  13.    args = Replace(args, " ", "*")
  14.    args = Replace(args, "|", " ")
  15.    res = Split(args, "*")
  16.    e = -1
  17.    For i = 0 To UBound(res) - 1
  18.        If res(i + 1) = "" Then
  19.            i = i + 1
  20.        ElseIf res(i) = "" Then
  21.            res(i) = res(i + 1)
  22.            i = i - 1
  23.            e = e + 1
  24.        End If
  25.    Next
  26.    If e > 0 Then
  27.        ReDim Preserve res(e - 1)
  28.    ElseIf e = 0 Then
  29.        'Erase res <----
  30.        ReDim res(0)
  31.    End If
  32. End Sub
  33.  
En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: Command$ extraer archivos.
« Respuesta #9 en: 13 Febrero 2011, 22:42 pm »

jaj es complicado ahora fijate que con el primer ejemplo no funciona
Código:
C:\Proyecto1.exe "C:\reto 123.exe" C:\imagen.png

yo lo intente pero me saco.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Extraer archivos...
Programación Visual Basic
akss_wm 1 1,702 Último mensaje 21 Diciembre 2005, 04:12 am
por maxnet
Como Extraer archivos de un ejecutable
Multimedia
abe786 3 15,809 Último mensaje 30 Marzo 2006, 05:26 am
por abe786
Extraer archivos .rar
GNU/Linux
dj_tora 5 6,692 Último mensaje 22 Agosto 2010, 23:57 pm
por B€T€B€
Ayuda extraer archivos
Ingeniería Inversa
tbgio 5 2,908 Último mensaje 14 Julio 2011, 21:41 pm
por tbgio
extraer, editar y reemplazar archivos de un exe
Dudas Generales
Vortex19 4 7,446 Último mensaje 26 Octubre 2011, 21:45 pm
por Vortex19
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines