Visual Basic.NET - Shell

 
Vista:

Shell

Publicado por Ricardo Espinoza P (3 intervenciones) el 18/11/2010 20:58:28
Hola.
Tengo el siguiente problema.
Si ejecuto esta instruccion Shell("NotePad.exe") lo ejecuta correctamente
Si ejecuto esta instruccion Shell(NotePad.exe a000001.txt") Tambien
Si ejecuto desde el Dos
openssl dgst -md5 a000001.txt > salida.txt
Sin entrar en detalles sobre lo que hace el programa openssl y sus parametros.
Lo hace correctamente, es decir me crea el archivo salida.txt
pero si en Visual Basic net
trato de ejecutar
Shell("openssl dgst -md5 a000001.txt > salida.txt")
No hace nada ni marca error (cuando no encuentra el archivo, si marca, por lo que descarto ese motivo)
y desde La Consola de comandos si lo genera.
Como si ignorara los parametros.
Alguien podria ayudarme.

De Antemano
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Shell

Publicado por abraham (14 intervenciones) el 19/11/2010 19:17:12
Imports System.Diagnostics
Imports System.Runtime.InteropServices

Dim programa As New Process
Dim Parametros As String = "dgst -md5 a000001.txt > salida.txt"
programa.StartInfo = New ProcessStartInfo("openssl.exe", linea)
programa.Start()
programa.WaitForExit()
programa.Dispose()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Shell

Publicado por RicardoEspinoza (3 intervenciones) el 19/11/2010 20:57:17
Muchas gracias Abrahan, pero tampoco me funciona de esa manera
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Shell

Publicado por abraham (14 intervenciones) el 19/11/2010 21:17:03
Y ya le distes buscar el archivo de texto; a lo mejor te lo esta dejando en algun otro lugar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Shell

Publicado por Ricardo Espinoza (3 intervenciones) el 19/11/2010 23:06:47
Tambien incluso lo meti a un batch, estoy pensando seriamente y probar con otro lenguaje
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Shell

Publicado por Francisco Lara (1 intervención) el 27/03/2014 14:07:59
En VB Net lo solucioné eliminando cualquier caracter de espacio que pudiera existir en toda la ruta de ejecución, incluso en el mismo nombre del archivo, confío en que será también tu solución y la solución para ejecutar con espacios es agregando comillas dobles al inicio y final de la "c:\ruta\archivo" cuando vayas a ejecutarlo.

Espero sirva (independientemente de la antiguedad del post)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Shell

Publicado por SergimJH (1 intervención) el 13/09/2021 19:47:58
Tuviste razón, es poner comillas dobles, eliminar guiones medios u otro carácter no estándar de ruta, y con ello ya corre bien.

Les comparto código en vb.net
Using p As New Process

With p
.StartInfo.FileName = "cmd.exe"
.StartInfo.Arguments = "/c C:\TransportWindOne\OpenSSL\bin\openssl x509 -inform DER -outform PEM -in """ & txtRSCertificado.Text & """ -pubkey -out """ & txtRSCertificado.Text & ".pem"" "

End With

p.Start()
'p.WaitForExit()
End Using


'Paso 2.- Contar con la llave convertida a PEM.
'openssl pkcs8 - inform DER -in 'CSD01_AAA010101AAA.key' -passin pass:12345678a -out 'CSD01_AAA010101AAA.key.pem'

Using p As New Process

With p
.StartInfo.FileName = "cmd.exe"
.StartInfo.Arguments = "/c C:\TransportWindOne\OpenSSL\bin\openssl pkcs8 -inform DER -in """ & txtRSKey.Text & """ -passin pass:""" & txtRSclave.Text.Trim & """ -out """ & txtRSKey.Text.Trim & ".pem"""

End With

p.Start()
'p.WaitForExit()


End Using
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar