Feature List:

 

 

Take Command, TCC, and the IDE / Batch Debugger have been rewritten to remove almost all limitations on file, line and argument sizes (other than those imposed by the Windows APIs and the amount of available RAM).

 

Take Command v17 is using a new version of the GUI framework.

 

Take Command v17 is using a new version of the installer.

 

Take Command v17 is using a new version of the Scintilla edit control (for the IDE / batch debugger and the Take Command Command Input window).

 

The help has improved support for display on 4K monitors.

 

 

Take Command:

 

Take Command has improved support for TCC dialogs. They no longer block access to other TCC tab windows, and when you click on another tab, Take Command will hide the dialog windows belonging the non-active tab windows.

 

The Edit/Debug option in the Tools menu now starts the IDE / debugger using a new tab window instead of a console window.

 

The Take Command status bar now includes the row & column position of the cursor in the active tab window.

 

The Take Command command input window will now optionally include aliases in tab completion if the argument being expanded is at the beginning of the command line. This requires that you have at least one TCC session (or SHRALIAS) using global variables. See the new CompleteAliases INI directive and the Options / Take Command / Windows tab.

 

The Take Command command input window will now optionally include internal commands in tab completion if the argument being expanded is at the beginning of the command line. See the new CompleteInternals INI directive and the Options / Take Command / Windows tab.

 

If you press the left mouse button while the cursor is in a tab window, Take Command will pause output (and scrolling) until you release the key. This will make it easier to copy text while the app is still outputting text.

 

If you press the left mouse button while the cursor is on the slider in the vertical scrollbar, Take Command will pause output (and scrolling) until you release the key.

 

If you hold down the Ctrl key while dropping files in a Take Command tab window, Take Command will append a CR and execute the command.

 

Ctrl-C - If you have selected text in a tab window, a Ctrl-C will now copy that text to the clipboard and clear the selection. If you do not have any selected text (or if you press Ctrl-C again), it will act like a Ctrl-Break.

 

The Take Command toolbar buttons can send some additional special keys

 

F13

F14

F15

F16

F17

F18

F19

F20

F21

F22

F23

F24

LWIN

RWIN

APPS

SLEEP

SELECT

PRINT

EXECUTE

MUTE

VOLUMEUP

VOLUMEDOWN

 

 

 

TCC:

 

Some plugins will need to be updated to v17-compatible versions, as many of the internal APIs have changed as a result of the parser and string handling rewrite.

 

TCC will now optionally include aliases in tab completion if the argument being expanded is at the beginning of the command line. See the new CompleteAliases INI directive and the "Command Line" tab in OPTION.

 

TCC will now optionally include internal commands in tab completion if the argument being expanded is at the beginning of the command line. See the new CompleteInternals INI directive and the "Command Line" tab in OPTION.

 

Added more UTF-8 support (for file input, i.e. batch files and variable functions) with the UTF8 directive in TCMD.INI.

 

Ctrl-C - If you are at the command line and have selected text in the TCC window, a Ctrl-C will now copy that text to the clipboard and clear the selection. If you do not have any selected text (or if you press Ctrl-C again), it will act like a Ctrl-Break and interrupt the command line entry.

 

Ctrl-Alt-Left - Delete the argument to the left of the cursor. The arguments are parsed the same as for internal commands; i.e., quoted strings are considered a single argument.

 

Ctrl-Alt-Right - Delete the argument to the right of the cursor. The arguments are parsed the same as for internal commands; i.e., quoted strings are considered a single argument.

 

Shift-Alt-Left - Move to the beginning of the argument to the left of the cursor. The arguments are parsed the same as for internal commands; i.e., quoted strings are considered a single argument.

 

Shift-Alt-Right - Move to the beginning of the argument to the right of the cursor. The arguments are parsed the same as for internal commands; i.e., quoted strings are considered a single argument.

 

Tab completion has been enhanced to automatically expand variable names embedded in the pathname being completed.

 

Ctrl+ (on the numeric keypad) will increase the font size in a TCC console window. You must be using a TrueType font (such as Lucida Console or Consolas), not a raster font.

 

Ctrl- (on the numeric keypad) will decrease the font size in a TCC console window. You must be using a TrueType font (such as Lucida Console or Consolas), not a raster font.

 

Ctrl-Win-Left - Decrease the console window width.

 

Ctrl-Win-Right - Increase the console window width. You cannot increase the window width beyond the console screen buffer width.

 

Ctrl-Win-Up - Decrease the console window height.

 

Ctrl-Win-Down - Increase the console window height. You cannot increase the window height beyond the number of rows in the console screen buffer.

 

Alt-Win-Left - Move the TCC console window left 5 pixels.

 

Alt-Win-Right - Move the TCC console window right 5 pixels.

 

Alt-Win-Up - Move the TCC console window up 5 pixels.

 

Alt-Win-Down - Move the TCC console window down 5 pixels.

 

The obsolete pseudovariables %+ and %= are deprecated in v17; they will be removed altogether in future versions.

 

 

IDE / Batch Debugger:

 

The current row and column on the debugger status bar has been moved to the left (to match the Take Command status bar).

 

The debugger status bar now includes the visible size of the edit window. (If you have a horizontal scrollbar, the maximum width will be greater than shown on the status bar.)

 

Changed the "debug stop" icon to something more obvious.

 

 

INI Directives:

 

CompleteAliases=yes|NO - If YES, TCC (or Take Command in the Command Input window) will tab complete alias names at the command line.

 

CompleteInternals=yes|NO - If YES, TCC (or Take Command in the Command Input window) will tab complete internal command names at the command line.

 

PluginDirectory=path - The directory where TCC will look for plugins to automatically load at startup.

 

UTF8=yes|NO: If enabled, TCC will check (non UTF-16) files to see if they are in UTF-8 format. You can set UTF8 in OPTION / Startup.

 

 

New Internal Variables:

 

_FILEARRAY - The number of array elements assigned by the last @FILEARRAY function.

 

_TCCRUN - The length of time the current TCC session has been running (as a FILETIME, in 100ns increments).

 

_TCCSTART - The time the current TCC session was started (as a FILETIME, in 100ns increments).

 

 

Updated Internal Variables:

 

_DOS - Added WINDOWS81, WIN2012R2, and WINDOWS10.

 

 

Updated Variable Functions:

 

@CDROM -  - if the argument is not a drive specification, @CDROM will expand the name to get the drive.

 

@CWD - if the argument is not a drive specification, @CWD will expand the name to get the drive.

 

@CWDS - if the argument is not a drive specification, @CWDS will expand the name to get the drive.

 

@EXETYPE - Added additional application types:

 

9 - Windows x64 GUI

10 - Windows x64 console

11 - EFI

12 - EFI boot driver

13 - EFI runtime driver

14 - EFI ROM

15 - XBox

16 - Windows boot application

 

@FINDFIRST - if the filename is quoted, the returned filename will also be quoted (if necessary).

 

@FINDNEXT - if the filename is quoted, the returned filename will also be quoted (if necessary).

 

@FSTYPE - if the argument is not a drive specification, @FSTYPE will expand the name to get the drive.

 

@FULL - if the filename is quoted, the returned filename will also be quoted (if necessary).

 

@FULL - added an optional second argument to specify the pathname to use. (This can include relative path operators like "...\".)

 

@GETDIR - if the filename is quoted, the returned filename will also be quoted (if necessary).

 

@GETFILE - if the filename is quoted, the returned filename will also be quoted (if necessary).

 

@GETFOLDER - if the filename is quoted, the returned filename will also be quoted (if necessary).

 

@LABEL - if the argument is not a drive specification, @LABEL will expand the name to get the drive.

 

@LFN - if the filename is quoted, the returned filename will also be quoted (if necessary).

 

@LINE - is now 20x faster.

 

@READY - if the argument is not a drive specification, @READY will expand the name to get the drive.

 

@REGBREAD - If the key name begins with \\machinename, opens the registry on a remote machine. The remote registry service must be running on the remote machine, and you must have access and permissions. The HKEY parameter can be one of the following keys:

 

HKEY_LOCAL_MACHINE

HKEY_PERFORMANCE_DATA

HKEY_USERS

 

@REGBWRITE - Now supports remote registry access (see @REGBREAD).

 

@REGCOPYKEY - Now supports remote registry access (see @REGBREAD).

 

@REGCREATE - Now supports remote registry access (see @REGBREAD).

 

@REGDELKEY - Now supports remote registry access (see @REGBREAD).

 

@REGEXIST - Now supports remote registry access (see @REGBREAD).

 

@REGQUERY - Now supports remote registry access (see @REGBREAD).

 

@REGSET - Now supports remote registry access (see @REGBREAD).

 

@REGSETENV - Now supports remote registry access (see @REGBREAD).

 

@REGTYPE - Now supports remote registry access (see @REGBREAD).

 

@REMOTE - if the argument is not a drive specification, @REMOTE will expand the name to get the drive.

 

@REMOVABLE - if the argument is not a drive specification, @REMOVABLE will expand the name to get the drive.

 

@SERIAL - if the argument is not a drive specification, @SERIAL will expand the name to get the drive.

 

@SERIALPORTOPEN - added an option to set the number of stop bits.

 

@TIMER - Now supports 10 timers (see TIMER below).

 

@TRUENAME - if the filename is quoted, the returned filename will also be quoted (if necessary).

 

@UNIQUE - if the filename is quoted, the returned filename will also be quoted (if necessary).

 

@VERSION - if the filename is quoted, the returned filename will also be quoted (if necessary).

 

@WMI - Added support for remote machines.

 

 

New Variable Functions:

 

@DRIVE - Returns the drive for the specified pathname. The path argument will be expanded before the drive name is extracted. If the pathname is a UNC, @DRIVE will return the computer name + sharename (i.e., @DRIVE[\\system1\d_drive\myfile] will return "\\system1\d_drive").

 

 

Updated Commands:

 

CALL

 

Increased the maximum nested batch file level from 16 to 32.

 

CDD

 

/S - The JPSTREE.IDX file is now always built as UTF-16.

 

CLS

 

/C is much faster with large console buffers.

 

COPY

 

/CRC:type:filename - Create a file that contains a CRC + file name for every file copied.

 

type - The type of CRC to create. Possible types are:

 

MD5

CRC32

SHA1

SHA256

SHA384

SHA512

 

DESKTOP

 

Added an optional second argument to specify the program that DESKTOP should launch in the new desktop. The default is "userinit.exe" (which will launch Explorer).

 

ESET

 

/W - open the alias list / environment / function list in a popup window and select the line to edit. You can search, edit, and delete entries in the window. If you include an argument after the /W option, the popup window will display only those entries that match the argument (including wildcards).

 

ESET /W can be combined with a registry environment key (/S, /U, /D, /V) to edit the Windows registry environment values.

 

EVERYTHING

 

Now using Everything 1.3.4, which includes both 32-bit and 64-bit support. EVERYTHINGIPC.EXE has been deleted, so Everything searches will be faster.

 

KEYSTACK

 

Added support for some additional special keys:

 

F13

F14

F15

F16

F17

F18

F19

F20

F21

F22

F23

F24

LWIN

RWIN

APPS

SLEEP

SELECT

EXECUTE

PRINT

MUTE

VOLUMEUP

VOLUMEDOWN

 

PATH

 

/N - Display the individual PATH directories each on its own line.

 

PUSHD

 

Increased the maximum directory stack size from 2047 to 8191.

 

SETLOCAL

 

Increased the maximum nesting level to 32.

 

TAR

 

TAR supports connected web folders. If an HTML file (i.e.,  with an .htm or .html extension) is compressed, TAR will look for a  folder in the same directory with the same name and an extension of ".files". If it is found, the .files directory will be be added the TAR archive.

 

TASKDIALOG

 

/P=x,y - Display the dialog at the specified screen coordinates.

 

TIMER

 

Now supports 10 timers (/1 - /10).

 

VER

 

Added support for Windows 10.

 

VIEW

 

Now supports displaying the clipboard ("view clip:").

 

Added support for displaying FTP files (including SFTP and FTPS).

 

Added support for displaying HTTP and HTTPS files.

 

ZIP

 

ZIP supports connected web folders. If an HTML file (i.e.,  with an .htm or .html extension) is zipped, ZIP will look for a  folder in the same directory with the same name and an extension of ".files". If it is found, the .files directory will be added to the ZIP archive.

 

7ZIP

 

7ZIP supports connected web folders. If an HTML file (i.e.,  with an .htm or .html extension) is zipped, 7ZIP will look for a  folder in the same directory with the same name and an extension of ".files". If it is found, the .files directory will be added to the 7ZIP archive.

 

 

New Commands:

 

COMMENT / ENDCOMMENT

 

Like TEXT / ENDTEXT, but doesn't process or output any batch file lines between the COMMENT and ENDCOMMENT statements.

 

LINKS

 

Displays the hardlinks for the specified file(s). The syntax is:

 

LINKS file...

 

REGMONITOR

 

Monitor Windows Registry keys. The syntax is:

 

REGMONITOR [/C [key]]

 

REGMONITOR key NAME ATTRIBUTES VALUE SECURITY n command