Buenas:
Estoy tratando de conectarme a una maquina por putty y descargarme un resultado de la ejecucion de un script, pero el caso es que si lo hago por la consola de windows me guarda correctamente el resultado, pero si lo hago por VBA, no tengo manera de que me guarde el resultado en un archivo.
¿Podeis ayudarme?
Ejemplo:
Esto es un ejemplo del codigo, evidentemente no estan los datos originales.
Sub Putty()
Shell Application.ActiveWorkbook.Path & "\putty\plink.exe -pw pass root@xx.xx.xx.xx ls > resultado.txt", vbNormalFocus
End Sub
::)
Probaste usando cmd?
Sub Putty()
Shell "cmd.exe /c " + """" + Application.ActiveWorkbook.Path & "\putty\plink.exe -pw pass root@xx.xx.xx.xx ls > resultado.txt" + """", vbNormalFocus
End Sub
La verdad es que me tira con cmd /c tambien pero no consigo que guarde el resultado... quiero que me lo guarde en msdos como hace si lo ejecuto de forma manual.
Estoy en las mismas... :rolleyes:
Y con esto?
Sub Putty()
Shell "cmd.exe /k " + """" + Application.ActiveWorkbook.Path & "\putty\plink.exe -pw pass root@xx.xx.xx.xx ls > resultado.txt | exit" + """", vbNormalFocus
End Sub
También podrías probar usando APIs (ShellExecute, CreateProcess, etc.) a ver si asi da resultado...
Saludos!
Voy a probar con la segunda opcion que me das, porque la primera acabo de probar y nada.
Gracias, te digo los resultados en cuanto los obtenga.
Saludos ;-)
Basicamente tenes que usar pipes para obtener la salida de algun comando que quieras ejecutar, para redirigir la salida de la consola a alguna variable.
En esta clase (http://dl.unicontsoft.com/upload/cExec.zip) esta resumido :P
Usa las funciones Run y ReadOutput
La clase cExec,parece interesante, podrías darme un ejemplo de funcionalidad? o mas documentación?
Saludos.