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 like Exec
but waits till the process exits.
ExecShell
: What is it for?
nsExec::Exec
: Just like Exec
or ExecWait
but only for command prompt and that too without opening the console window. I am unsure if it waits for process to exit. Does nsExec::Exec
wait for child process to exit?
nsExec::ExecToLog
: The documentation says ExecToLog
is similar to plain nsExec
but it outputs to log window. What does that mean, what is a log window?
nsExec::ExecToStack
: The documentation says ExecToStack
is similar to plain nsExec
but it pushes output to stack. I get that.
ExecDos
: Same as nsExec::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 as ExecDos
but it doesn't require these
ExpandEnvStrings $3 %COMSPEC%
ExecDos::exec /C
parts. Am I correct?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…