Página 1 de 1

comandos msdos

Publicado: 29 Feb 2012, 11:49
por peya02
Buenos días,

la pregunta es si existe la forma de lanzar comandos msdos, lo que quiero es muy sencillo, solo quiero decir que me abra un documento con un programa en concreto a través de un comando msdos, esto sin que se abra la ventana de msdos (en el caso de que se abra, que se cierre automáticamente).


Muchas gracias.

Re: comandos msdos

Publicado: 29 Feb 2012, 13:33
por jamaro
Hola peya02:

Para ejecutar programas externos, echa un vistazo a la ayuda de Autoit, en concreto a la función Run, que según la ayuda en español:
Run: Ejecuta un programa externo.
Run ( "programa" [, "directorio de trabajo" [, flag_mostrar[, opt_flag ]]] )
(...)
Las rutas con espacios necesitan ser encerradas entre comilas.
Para ejecutar comandos de DOS (consola), intente Run(@ComSpec & "/c" y "nombre De Comando", "", @SW_HIDE) ;no se olvide de "" antes "/c"
(...)
Espero que te sirva. Si tienes más dudas, ya sabes, ayuda de Autoit y foros ;-)

Re: comandos msdos

Publicado: 01 Mar 2012, 09:30
por Ximorro
Fíjate en lo de @Comspec que es un buen truco para poder lanzar un comando del intérprete de comandos (los famosos DIR, DEL, etc.) y por supuesto ejecutar archivos bat, exe, com, etc. dentro de una ventana del shell DOS.

Pero si no quieres la ventana DOS y en realidad no es un comando DOS lo que quieres ejecutar, sino un programa externo, tienes otra función que usa el sistema de ejecución de Windows: ShellExecute
Este funciona como si hicieras doble clic en un archivo en un explorador de archivos. De hecho si el documento está asociado a su programa puedes hacer ShellExecute directamente del documento, y ya se abre con su programa asociado.

Re: comandos msdos

Publicado: 19 Mar 2012, 14:13
por BasicOs
Un ejemplo de trabajo con consola con acceso al login automatizado de un terminal linux con putty:

Código: Seleccionar todo

1: AutoItSetOption("WinTitleMatchMode", 2)
2:  
3: If $CmdLine[0] < 3 Then
4: MsgBox(1, "error", "error: usage")
5: Exit
6: EndIf
7:  
8: $strSession = $CmdLine[1]
9: $strUname = $CmdLine[2]
10: $strPswd = $CmdLine[3]
11:  
12: $strCmd = 'putty.exe -load ' & $strSession & ' -l ' & $strUname & ' -pw ' & $strPswd
13:  
14: Run(@ComSpec & " /c " & $strCmd, "", @SW_HIDE)
15:  
16: Sleep(2500)
17:  
18: If WinExists("PuTTY Error") Then
19: Exit
20: EndIf
21:  
22: WinWaitActive("PuTTY")
23: $strSessionTitle = WinGetTitle("")
24: WinSetTitle($strSessionTitle, "", $strSession & " - I have changed the window text!")
25:  
26: Send(". ./.profile{ENTER}")
27: Send("ls -lrt{ENTER}")
28:  
29: MsgBox(1, "Finished", "I have finished now!")
30:  
31: Exit
Creditos a Weir J. de http://it.toolbox.com
Salu2:)