Can I know what are the differences between each Exec, ExecWait, ExecShell, nsExec::Exec, nsExec::ExecToLog, nsExec::ExecToStack, ExecDos and ExecCmd, as in when to use which?
I 've posted the various execute calls I know. I am trying to make a comprehensive list, so that it helps future visitors..
-
Exec
: Plainly execute the called string, be it some application, console or file. -
ExecWait
: Executes likeExec
but waits till the process exits. -
ExecShell
: What is it for? -
nsExec::Exec
: Just likeExec
orExecWait
but only for command prompt and that too without opening the console window. I am unsure if it waits for process to exit. DoesnsExec::Exec
wait for child process to exit? -
nsExec::ExecToLog
:The documentation says ExecToLog
is similar to plainnsExec
but it outputs to log window. What does that mean, what is a log window? -
nsExec::ExecToStack
: The documentation saysExecToStack
is similar to plainnsExec
but it pushes output to stack. I get that. -
ExecDos
: Same asnsExec::ExecToStack
but it additionally (Is it not?)a. takes string parameter that serves as stdin for running application.
b. works in both sync/async mode.
c. it works out of section - for .onInit check outs.
-
ExecCmd
: Same asExecDos
but it doesn't require theseExpandEnvStrings $3 %COMSPEC% ExecDos::exec /C
parts. Am I correct?