PDA

Ver la Versión Completa : Ejecutar comandos del DOS?


Carlos Arevalo
11-11-2003, 19:29:55
Hola amigos.

Como puedo ejecutar comandos de DOS y pasarle parametros desde Delphi?

especificamente el comando MODE.


Muchas gracias.

marcoszorrilla
11-11-2003, 19:52:09
WinExec( 'mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi)' ,SW_SHOWNORMAl );

Un Saludo.

delphi.com.ar
11-11-2003, 20:33:08
Ante todo, quiero decirte que la solución de Marcos, es adecuada par lo que quieres hacer.


Una cuestión de sintaxis:
Particularmente no creo que MODE sea un comando de DOS, para mi comandos son aquellas intrucciones que maneja el interprete de comandos (COMMAND.COM), por ejemplo: dir, del, ren, ver, time, date.....

Si hablamos de comandos:

Aqui tienes un hilo anterior con un ejemplo:
http://www.clubdelphi.com/foros/showthread.php?s=&threadid=483

Este es el procedure que uso para estos casos:
procedure DosExec( ACommand : String; ACmdShow : Cardinal = SW_SHOW );
begin
if WinExec( PChar(Environ('COMSPEC') + ' /C ' + ACommand), ACmdShow ) <= 31 Then
{$IFDEF VER130}
RaiseLastWin32Error;
{$ELSE}
RaiseLastOSError;
{$ENDIF}
end;



Saludos!

marcoszorrilla
12-11-2003, 07:50:41
Solamente añadir al respecto, como bien dice Delphi.com, que los comandos residen en el archivo COMMAND.COM, aunque en su día la terminología denominaba como comandos internos a estos citados y externos al resto.

Es decir cuando los ordenadores no tenían disco duro, al extraer el disquette con el DOS, solamente funcionaban los comandos internos, CLS, DIR, CD .... los externos como el citado en la pregunta residen en el disco en diferentes ejecutables. Print, Format....

Un Saludo.