Release 10.1A: OpenEdge Development:
Progress 4GL Reference

> ## DOS statement

> ##
> (Windows only)

> Runs a program, DOS command, or DOS batch file, or starts the DOS command processor, which allows interactive processing of DOS commands.

> #### Syntax

>     DOS [ SILENT ] [ command-token | VALUE ( expression ) ] ...

> `SILENT`

> After processing a DOS statement, the Progress shell pauses, and prompts you to press SPACEBAR to continue. When you press SPACEBAR, Progress clears the window and continues processing. You can use the SILENT option to eliminate this pause. Use this option only if you are sure that the DOS program, command, or batch file will not generate output to the window.

> ``command-token` | VALUE ( `expression` )`

> One or more command (`command-token`) words and symbols that you want to pass to a DOS command processor. The VALUE option generates the command tokens included in `expression`, a character string expression. The specified combination of `command-token` and VALUE ( `expression` ) options can form any legal combination of commands and command options permitted by the DOS command processor, including programs, DOS commands, and batch files. If you do not use any of these options, the DOS statement invokes the DOS command processor, which remains until you exit it.

> Example

> On UNIX, this procedure runs the UNIX `ls` command. In Windows, this procedure runs the DOS `dir` command. On other platforms, Progress displays a message stating that the operating system is unsupported.

> r-dos.p
>     IF OPSYS = "UNIX" THEN UNIX ls.
>     ELSE IF OPSYS = "WIN32" THEN DOS dir.
>     ELSE DISPLAY OPSYS "is an unsupported operating system".

> #### Note

> If you use the DOS statement in a procedure and the procedure compiles on a UNIX system, the procedure runs, as long as flow of control does not pass through the DOS statement while running on UNIX. Use the OPSYS function to return the name of the operating system where a procedure is being run. This function lets you write applications that are portable among Progress-supported operating systems even if they use the DOS, UNIX, etc. statements.

> #### See also

> { } Preprocessor name reference, OPSYS function, UNIX statement

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095