Take Command 24.02:
Updated the internet and compression libraries in TCC.
Changed the TCC /S startup switch to /B.
Added support for the CMD /S startup option to TCC.
Everything Search has been updated to version 1.4.1.935.
Updated the Language dlls.
Updated the Scintilla (scilexer.dll) editor.
Take Command 24.01:
The Take Command display output is faster and uses less CPU.
TCC now supports Python 3.7.2.
Improved the editor performance in IDE, CMDebug and TCEdit.
Everything Search has been updated to version 1.4.1.932.
Updated the Onigmo regular expression library.
Updated the Scintilla (scilexer.dll) editor.
Take Command 24.0:
Installer:
Take Command is using new version of Advanced Installer.
Take Command:
Version 24 is using a new version of the GUI framework library.
Version 24 is using a new version of the Scintilla editor.
Take Command no longer includes ANSI32.DLL and ANSI64.DLL, and does not inject them into console apps for ANSI support. On Windows 10, Take Command will use the built-in console ANSI support. On Windows 7 & 8, if you want ANSI in CMD you will need to use a third-party app like ANSICON. ANSI is still supported for TCC internals.
Take Command has a number of screen drawing improvements related to DPI scaling.
Take Command's output has been further optimized, increasing display speed another 10-20%.
The Take Command window will now "snap" to the screen edges when it is dragged near an edge (configurable with the SnapMargin directive in TCMD.INI; see below).
Take Command now supports Office 2013 & 2016 tooltip styles, and an optional TCMD.INI directive to use a different style (see below). Take Command will default to the appropriate tooltip style for the theme.
The "Administrator:" prefix for elevated session titles has been shortened to "Admin:" to allow more of the actual command to appear in the title.
The Take Command configuration dialog now lets you set the color for selected text (defaults to the inverse of the current color).
The Take Command VIEW menu has an option "Topmost" which will make the Take Command window always on top of other (non-topmost) windows.
The Tab windows now have an optional margin on the sides & the top/bottom to make it a little easier to read & select text. See the VMargin and HMargin TCMD.INI directives.
The Take Command configuration dialog has a new option on the Tabs page to prepopulate the Title and Command fields with the appropriate values for TCC, CMD, PowerShell, and bash.
The Take Command block marking (Ctrl + left button + mouse move) now also supports block marking with the Alt key instead of the Ctrl key, to match the Scintilla block marking in the IDE and TCEDIT.
TCC:
There are about 80 new command dialogs. Almost all of the non-trivial (i.e., not ECHO) internal TCC commands now have dialogs, and the existing dialogs have been enhanced with additional options. Note there are a handful commands (like DO, FOR, PDIR, and TASKDIALOG) which by their nature do not lend themselves to being implemented in a command dialog.
The attributes dialog (/A:=) supports the new Windows 10 Pinned and Unpinned attributes.
The ranges dialog (/[=]) now supports the ! (NOT) operator for date, time, size, owner, and description ranges.
File sorting (/O:xxx) in the file handling commands (COPY, DEL, MOVE, etc.) has some additional options:
c | Sort by compression ratio |
i | Sort by description |
o | Sort by owner |
All of the command dialogs (/=) now have an "Edit command line" option if you need to modify the generated command line. (Use with caution - the command dialogs probably know the syntax better than you do!)
All of the TCC command line editing keys can now be displayed and remapped. The OPTION command has a new "Keyboard" tab, which allows you to add / edit / remove keys for each of the editing functions (more than 100 in all). You can bind multiple key combinations to each - for example, Paste has Ctrl-V and Shift-Ins. See the new key directives in TCMD.INI Directives (below).
Key aliases are now processed before the TCC key mapping, so you can override TCC's default behavior without having to use the TCMD.INI directives.
Added support for the HKCU "App Paths" registry entries.
The internal Lua has been updated to 5.3.5.
Added support for Python 3.7.1.
IDE / Batch Debugger:
Version 24 is using a new version of the GUI framework library.
Version 24 is using a new version of the Scintilla editor.
Text display is faster and the antialiased fonts are a little clearer.
The dark themes now have dark margins (profiler, breakpoints, line numbering).
When you move the debugger window, it will snap to the screen edges if it's within 10 pixels.
Help:
The v24 help is built with a new version of the help compiler (Help & Manual).
The help has been expanded with more examples, tutorials, and key words.
HMargin=n (in [TakeCommand] section) - A integer value that specifies the left border margin (in pixels) for Take Command tab windows. The default value is 4. This option is set in the Take Command configuration dialog Tabs page.
SelectedColors=color - Take Command and TCC will default to using the inverse of the current color when you mark a selection with the mouse or keyboard. If SelectedColors is set, they will use that value instead. This option is set in the TCC OPTION command (for TCC console mode sessions), or in the Take Command configuration dialog (for Take Command tab windows).
SnapMargin=n - Snaps the Take Command window to the screen edge if the window edges are within n pixels. The default value is 10; 0 will disable the snap.
ToolTipStyles=style - A string value specifying the tooltip style you wish to use. (Take Command will default to using the tooltip style appropriate for the selected theme.) The possible values for style are:
Standard
Balloon
RTF
Luna
HTML
Office 2007
Office 2010
Office 2013
Office 2016
VMargin=n (in [TakeCommand] section) - A integer value that specifies the top border margin (in pixels) for Take Command tab windows. The default value is 2. This option is set in the Take Command configuration dialog Tabs page.
EnglishMessages=NO|yes (in [4NT] section) - If set to Yes, TCC will display error messages from Windows in English, regardless of the default language.
There are now keystroke directives for all of the command line editing functions. They can be added / edited / removed in the OPTION "Keyboard" dialog. The keystroke directives are saved in a new [Keys] section in TCMD.INI.
The directives, description, and default keys are:
AddFile | Keep tab completion entry and add another (F10) |
AliasExpand | Expand all aliases on the command line (Ctrl-W) |
Argument0 | Get argument 0 from previous command line (Ctrl-0) |
Argument1 | Get argument 1 from previous command line (Ctrl-1) |
Argument2 | Get argument 2 from previous command line (Ctrl-2) |
Argument3 | Get argument 3 from previous command line (Ctrl-3) |
Argument4 | Get argument 4 from previous command line (Ctrl-4) |
Argument5 | Get argument 5 from previous command line (Ctrl-5) |
Argument6 | Get argument 6 from previous command line (Ctrl-6) |
Argument7 | Get argument 7 from previous command line (Ctrl-7) |
Argument8 | Get argument 8 from previous command line (Ctrl-8) |
Argument9 | Get argument 9 from previous command line (Ctrl-9) |
ArgLeft | Move the cursor left to the previous argument (Alt-Shift-Left) |
ArgRight | Move the cursor right to the next argument (Alt-Shift-Right) |
Backspace | Delete the character to the left of the cursor (Backspace) |
BeginLine | Move the cursor to the start of the line (Home) |
CommandDialog | Display the command dialog for the first argument on the command line (Alt-F2) |
CommandEscape | Do not interpret the next keystroke as a command line editing key (Alt-255) |
ConsoleHeightMax | Increase the console window height (Ctrl-Alt-Shift-Down) |
ConsoleHeightMin | Reduce the console window height (Ctrl-Alt-Shift-Up) |
ConsoleWidthMax | Increase the console window width (Ctrl-Alt-Shift-Right) |
ConsoleWidthMin | Reduce the console window width (Ctrl-Alt-Shift-Left) |
Copy | Copy the highlighted text to the clipboard. (Ctrl-Y) |
Del | Delete the character at the cursor (Del) |
DelArgLeft | Delete the argument to the left of the cursor (Ctrl-Alt-L, Ctrl-Alt-Left) |
DelArgRight | Delete the argument to the right of the cursor (Ctrl-Alt-R, Ctrl-Alt-Right) |
DelHistory | Delete the current history list entry and display the previous entry (Ctrl-D) |
DelToBeginning | Delete from the cursor to the start of the line (Ctrl-Home) |
DelToEnd | Delete from the cursor to the end of the line (Ctrl-End) |
DelWordLeft | Delete the word to the left of the cursor (Ctrl-L) |
DelWordRight | Delete the word to the right of the cursor (Ctrl-R, Ctrl-Backspace) |
DirectoryCompletion | Toggle between the default files + directories filename completion, and directories only (Shift-F6) |
DirWinOpen | Open the directory history popup window (Ctrl-PgUp, Ctrl-PgDn, F6) |
EndHistory | Display the last entry in the history list (Ctrl-E) |
EndLine | Move the cursor to the end of the line (End) |
EraseLine | Delete the entire line (Esc) |
ExecLine | Execute or accept a line (Enter) |
FileBrowse | Display the Windows file browse dialog (F5) |
FolderBrowse | Display the Windows folder browse dialog (Alt-F5) |
FontMax | Increase the console font size (Ctrl-Plus) |
FontMin | Reduce the console font size (Ctrl-Minus) |
Help | Display the Help topic for the current command (F1) |
HelpWord | Display the Help topic for the word at the cursor (Ctrl-F1) |
HistWinOpen | Open the command history popup window (PgUp, PgDn) |
Ins | Toggle insert / overstrike mode (Insert) |
LastHistory | Return the last history entry (F3) |
Left | Move the cursor left one character on the input line (Left) |
LFNToggle | Toggle tab completion between long filename and short filename modes on LFN drives (Ctrl-A) |
LineToEnd | Copy the current command line to the end of the history list, then execute it (Ctrl-Enter) |
MoveConsoleDown | Move the console window down (Alt-Win-Down) |
MoveConsoleUp | Move the console window up (Alt-Win-Up) |
MoveConsoleLeft | Move the console window left (Alt-Win-Left) |
MoveConsoleRight | Move the console window right (Alt-Win-Right) |
NextDirHistory | Get the next directory from the directory history (Shift-PgDn) |
NextFile | Get the next matching filename during tab completion (Tab, F9) |
NextHistory | Get the next command from the command history (Down) |
OriginalFile | Restore the original filename (Alt-F9) |
ParentDirectory | Change to the parent directory (Ctrl-Shift-Up) |
Paste | Paste line from clipboard (Ctrl-V Shift-Ins) |
PATHCompletion | Toggle between completing files found in the local directory, and completing them in the local directory + all of the directories in PATH (Ctrl-F6) |
PopFile | Open the tab completion window (F7, Ctrl-Tab) |
PopupWinDel | Delete a line from in the command history or directory history window (Ctrl-D) |
PopupWinEdit | Moves a line from the command history or directory history window to the prompt for editing (Ctrl-Enter) |
PopupWinEditWin | Edit a line in the command history or directory history window (Ctrl-E) |
PrevArgument | Recall the last argument from the previous command line (Ctrl-B) |
PrevFile | Get the previous matching filename (F8, Shift-Tab) |
PrevDirHistory | Get the previous directory from the directory history (Shift-PgUp) |
PrevHistory | Get the previous command from the command history (Up) |
PrintHistory | Print the command history (Ctrl-P) |
Redo | Redo the last Undo (Ctrl-Shift-Y) |
Regex | Display the regular expression analyzer dialog (Ctrl-F7) |
RepeatFile | Repeat the previous matching filename (F12) |
Right | Move the cursor right one character on the input line (Right) |
SaveHistory | Save the command line in the command history list without executing it (Ctrl-K) |
SelectFromHome | Mark from the beginning of the line to the cursor (Shift-Home) |
SelectLeft | Add the character on the left to the selection (Shift-Left) |
SelectRight | Add the character on the right to the selection (Shift-Right) |
SelectToEnd | Mark from the cursor to the end of the line (Shift-End) |
SelectWordLeft | Add the word on the left to the selection (Ctrl-Shift-Left) |
SelectWordRight | Add the word on the right to the selection (Ctrl-Shift-Right) |
SingleStep | Toggle batch debugger single-stepping (Ctrl-F5) |
Undo | Undo the last edit (Ctrl-Shift-Z) |
VariableExpand | Expand variables on the entire command line (Ctrl-X) |
VariableExpandWord Expand variables for the current word (Ctrl-Shift-X)
WordLeft | Move the cursor left one word (Ctrl-Left) |
WordRight | Move the cursor right one word (Ctrl-Right) |
LIST has some new directives for redefining keys that were formally fixed. These can all be set with the OPTION / Keyboard dialog. (Note that LIST is still considered obsolete and you should be using VIEW!)
ListDelete | Delete the current file (Del) |
ListDown | Scroll down one row (Down) |
ListEdit | Edit the current file using the default editor (E) |
ListEnd | Go to the end of the file (End) |
ListFindRegexReverse | Search backwards for a regular expression (Ctrl-R) |
ListGoto | Display a dialog to jump to a specific line (G) |
ListHelp | Display help for LIST (F1) |
ListHexSpace | Toggle display of nonprintable characters (space or .) when in hex mode (S) |
ListHome | Go to the beginning of the file (Home) |
ListInfo | Displays information about the current file (I) |
ListLeft | Scroll left one column (Left) |
ListNumber | Number the lines (L) |
ListOpen | Display the "Open File" dialog (O) |
ListPageLeft | Scroll left 40 columns (Ctrl-Left) |
ListPageRight | Scroll right 40 columns (Ctrl-Right) |
ListPgUp | Scroll up one page (PgUp) |
ListPgDn | Scroll down one page (PgDn) |
ListRight | Scroll right one column (Right) |
ListSave | Save to a file (Ins) |
ListTabSize | Display a dialog to set the tab size (Tab) |
ListUp | Scroll up one row (Up) |
Command Line Editing:
Key aliases are now processed before the TCC key mapping, so you can override TCC's default behavior without having to use the TCMD.INI directives.
Ctrl-Win-T - (in Take Command) Start a new default tab window
New Variable Functions:
@COMPUTERNAME[n] - Returns a DNS or NetBIOS name associated with the local computer. The names are created at startup time. The type of name to be retrieved is specified by n:
0 | The NetBIOS name of the local computer or the cluster associated with the local computer |
1 | The DNS name of the local computer or the cluster associated with the local computer |
2 | The name of the DNS domain assigned to the local computer or the cluster associated with the local computer.DNS |
3 | The fully qualified DNS name that uniquely identifies the local computer or the cluster associated with the local computer |
4 | The NetBIOS name of the local computer |
5 | The DNS host name of the local computer |
6 | The name of the DNS domain assigned to the local computer |
7 | The fully qualified DNS name that uniquely identifies the computer |
Plugins:
The keystroke plugin behavior and API call has changed in TCC v24. Keystroke plugins are now called after key aliases, and before TCC looks for the default action for that key. The KEYINFO structure has an additional field pszKey at the end:
// structure passed to plugin functions to monitor keystrokes. A
// keystroke function can be named anything, but must prefix a
// * to its name in the function list (pszFunctions, above).
// If the keystroke plugin handled the keystroke and doesn't want to pass
// it back to TCC, it should set nKey = 0 and pszKey to an empty string.
// The command processor will call the keystroke function with all parameters
// set to 0 just before accepting input for each new command line.
// The string pointers are Unicode
typedef struct {
int | nKey; // key entered |
int | nHomeRow; // start row |
int | nHomeColumn; // start column |
int | nRow; // current row in window |
int | nColumn; // current column in window |
LPTSTR | pszLine; // command line |
LPTSTR | pszCurrent; // pointer to position in line |
int | fRedraw; // if != 0, redraw the line |
LPTSTR | pszKey; // (v24+ only) ASCII name of key (for example, "Ctrl-Alt-Home") |
} KEYINFO, *LPKEYINFO;
V24+ only: If the value passed in "nKey" is 0, the key is not a valid Unicode character, and the keystroke plugin needs to parse the pszKey string to get the name. The name will be passed in the format:
[Ctrl-][Alt-][Shift-]key
For example:
F12
Ctrl-F1
Ctrl-Alt-Left
Ctrl-Shift-F5
The keystroke plugin can modify the nKey or pszKey value and pass it back to TCC to evaluate the default action for the (new) value. If nKey is != 0, TCC will treat it as a normal Unicode character. If nKey = 0, TCC will evaluate pszKey for a valid keyname.
If the keystroke plugin handled the key and doesn't want TCC to do anything more, set nKey to 0 and pszKey to an empty string (write a null to the first byte).
Updated Commands:
ACTIVATE now has a command dialog.
ALIAS now has a command dialog.
ASSOC now has a command dialog.
The command dialog supports the new Windows 10 Pinned and Unpinned attributes.
The command dialog has a new "Sorting" button to select the file sort order.
The command dialog now supports the /Q (quiet) option.
The command dialog now supports the /Nj (no junctions) option.
BTMONITOR now has a command dialog.
CD now has a command dialog.
CDD now has a command dialog.
CLIPMONITOR now has a command dialog.
The command dialog has a new "Sorting" button to select the file sort order.
/Nz - Skip system directories (when used with /S).
DATEMONITOR now has a command dialog.
DEBUGMONITOR now has a command dialog.
/Nz - Skip system directories (when used with /S).
The command dialog has a new "Sorting" button to select the file sort order.
/Nz - Skip system directories (when used with /S).
DELAY now has a command dialog.
DELAY UNTIL now accepts a space, comma, or = between the date and the time. (This allows it to work with the string returned by @AGEDATE.)
The command dialog has a new "Sorting" button to select the file sort order.
The command dialog has a new "Sorting" button to select the file sort order.
/Nz - Skip system directories (when used with /S).
DISKMONITOR now has a command dialog.
If you don't enter any arguments, ENUMSHARES will display its command dialog.
ESET now has a command dialog.
If you don't enter any arguments, ESET will display its command dialog.
EVENTMONITOR now has a command dialog.
The command dialog now supports the /B (rebuild the ES database) option.
The command dialog now supports the /H (delete the ES run history) option.
The command dialog now supports the /I (rescan all folder indexes) option.
FIREWIREMONITOR now has a command dialog.
FOLDERMONITOR now has a command dialog.
FUNCTION now has a command dialog.
FTYPE now has a command dialog.
The command dialog has a new "Sorting" button to select the file sort order.
HASH now has a command dialog.
If you don't enter any arguments, HASH will display its command dialog.
The command dialog has a new "Sorting" button to select the file sort order.
The command dialog now supports the /B (no bell) option.
The command dialog now supports the /N+n (skip lines) option.
The command dialog now supports the /M (number history list) option.
The command dialog now supports the /Tn (display n lines) option.
The command dialog now supports the /EP (extended passive) option.
The command dialog now supports the /IPv6 option.
The command dialog now supports the /Zn (Zlib compression) option.
If you don't enter any arguments, IFTP will display its command dialog.
INKEY now has a command dialog.
If you don't enter any arguments, INKEY will display its command dialog.
INPUT now has a command dialog.
If you don't enter any arguments, INPUT will display its command dialog.
The command dialog now supports the /F"filename" (send file) option.
The command dialog now supports the /IPv6 option.
The command dialog has a new "Sorting" button to select the file sort order.
JOBMONITOR now has a command dialog.
LIBRARY now has a command dialog.
/R now supports reading multiple library files.
/Q - Don't display an error if the function doesn't exist.
You can define all of the LIST keys using the new OPTION / Keyboard dialog.
The command dialog has a new "Sorting" button to select the file sort order.
LOCKMONITOR now has a command dialog.
LOG now has a command dialog.
The command dialog now supports the /A (create link with absolute pathname) option.
MONITOR now has a command dialog.
The command dialog has a new "Sorting" button to select the file sort order.
/Nz - Skip system directories (when used with /S).
NETMONITOR now has a command dialog.
MSGBOX now has a command dialog.
The new "Keyboard" tab allows you to add / edit / remove keys for each of the editing functions (about 100 in all). You can bind multiple key combinations to each - for example, Paste has Ctrl-V and Shift-Ins. See the new key directives in TCMD.INI Directives (above).
Now lets you set the color for selected text (defaults to the inverse of the current color).
OSD now has a command dialog.
If you don't enter any arguments, OSD will display its command dialog.
PATH now has a command dialog.
/V - Checks all of the directories in %PATH, and displays an error message for any that don't exist.
/Nz - Skip system directories (when used with /S).
PIPEVIEW now has a command dialog.
POWERMONITOR now has a command dialog.
The command dialog now supports the /D (disable Windows thread boosting) option.
The command dialog now supports the /E (enable Windows thread boosting) option.
PROCESSMONITOR now has a command dialog.
QUERYBOX now has a command dialog.
If you don't enter any arguments, QUERYBOX will display its command dialog.
REBOOT now has a command dialog.
RECORDER now has a command dialog.
If you don't enter any arguments, RECORDER will display its command dialog.
REGDIR now has a command dialog.
If you don't enter any arguments, REGDIR will display its command dialog.
REGMONITOR now has a command dialog.
The command dialog has a new "Sorting" button to select the file sort order.
REXEC now has a command dialog.
If you don't enter any arguments, REXEC will display its command dialog.
RSHELL now has a command dialog.
If you don't enter any arguments, RSHELL will display its command dialog.
SCREENMONITOR now has a command dialog.
The command dialog has a new "Sorting" button to select the file sort order.
The command dialog now supports the /H (hide "." and "..") option.
The command dialog now supports the /Pn (priority) option.
The command dialog now supports the /Sn (sensitivity) option.
The command dialog now supports the /Pn (priority) option.
The command dialog now supports the /Sn (sensitivity) option.
SERVICEMONITOR now has a command dialog.
SERVICES now has a command dialog.
SET now has a command dialog.
SETARRAY now has a command dialog.
SETP now has a command dialog.
If you don't enter any arguments, SETP will display its command dialog.
SHORTCUT now has a command dialog.
If you don't enter any arguments, SHORTCUT will display its command dialog.
The command dialog has a new "Sorting" button to select the file sort order.
The command dialog has a new "Sorting" button to select the file sort order.
The command dialog now supports the /B (no bell) option.
The command dialog has a new "Sorting" button to select the file sort order.
TASKBAR now has a command dialog.
If you don't enter any arguments, TASKBAR will display its command dialog.
TEE now has a command dialog.
If you don't enter any arguments, TEE will display its command dialog.
The command dialog has a new "Sorting" button to select the file sort order.
The command dialog now supports the /Q (quiet) option.
If you don't enter any arguments, TOUCH will display its command dialog.
The command dialog has a new "Sorting" button to select the file sort order.
The command dialog now supports the /A (ASCII characters) option.
Added the /B (no bell) option to the TYPE command dialog.
The command dialog has a new "Sorting" button to select the file sort order.
The command dialog now supports the /Ne (no error output) option.
UUID now has a command dialog.
UNSETP now has a command dialog.
The command dialog now supports the /Ne (no error output) option.
USBMONITOR now has a command dialog.
VBEEP now has a command dialog.
The command dialog has a new "Sorting" button to select the file sort order.
The command dialog now supports the /W (TCMD tab window) option.
WEBFORM now has a command dialog.
WEBUPLOAD now has a command dialog.
WINDOW now has a command dialog.
WMIQUERY now has a command dialog.
If you don't enter any arguments, WMIQUERY will display its command dialog.
WSETTINGS now has a command dialog, including the option to let you select the settings dialog from a list.
If you don't enter any arguments, WSETTINGS will display its command dialog.
WSHELL now has a command dialog, including the option to let you select the shell folder from a list.
If you don't enter any arguments, WSHELL will display its command dialog.
WSHORTCUT now has a command dialog, including the option to let select the folder from a list.
If you don't enter any arguments, WSHORTCUT will display its command dialog.
The command dialog has a new "Sorting" button to select the file sort order.
ZIPSFX now has a command dialog.
The command dialog has a new "Sorting" button to select the file sort order.
New Commands:
TCEDIT is a tabbed editor for editing all kinds of text files, including INI files and various scripting languages (with syntax coloring). TCEDIT also supports reading from the clipboard (CLIP:), FTP, and HTTP sites. The syntax is:
TCEDIT [range .../C //EXIT /INI /START /O:[-]acdeginorstuz ] file...
/C - Create the file if it doesn't exist.
/INI - edit the current TCMD.INI
/START - edit the current TCSTART.*
/EXIT - edit TCEXIT.* (this is guesswork, since TCC hasn't found it yet)
TCEDIT defaults to line selection. You can select rectangular blocks by holding down the Alt key while selecting text.
TCEDIT supports multiple selections for cut and paste. Hold the Ctrl key down while selecting text with the mouse. When multiple selections are copied to the clipboard, each selection is added to the clipboard text in order with no delimiting characters. For rectangular selections the document's line end is added after each line's text.
UNLIBRARY removes library functions defined with the LIBRARY command. The syntax is:
UNLIBRARY [/Q /R filename ... (function ...)] functionname ...
/Q - Don't display errors if the library function doesn't exist.
/R - Read the functions to delete from a file
UNLIBRARY supports exception lists (enclosed in parentheses) to specify library functions you do not want to delete.