auto_execok is one of several commands documented at http://www.tcl.tk/man/tcl8.4/TclCmd/library.htm
Canonical example usage:
eval exec [auto_execok dir] *.$suffix
[Explain why this is better than $::env(COMSPEC), cmd.exe, ...]
LES on Jun 1st, 2004: Yes, please, do that. :-)
To demonstrate why [eval] is required:
% auto_execok start C:/WINNT/system32/CMD.EXE /c start % exec [auto_execok start] http://wiki.tcl.tk couldn't execute "C:\WINNT\system32\CMD.EXE \c start": invalid argument % eval exec [auto_execok start] http://wiki.tcl.tk % # success
Note that if any arguments to "start" have spaces in them, you have to list-protect them from eval
% set mydoc "My document.doc" % eval exec [auto_execok start] $mydoc % # msword may complain about being unable to find "My" and "document.doc"' % eval exec [auto_execok start] [list $mydoc]; # should be more successful
See also exec, Invoking browsers,
Tcl syntax help - Arts and crafts of Tcl-Tk programming - Category Command