Feature List:

 

The Take Command UI has been revamped, to make things easier to find and to provide a little more room for the tab windows. The Take Command menu has been changed to a ribbon format (which can be optionally always displayed or minimized).

 

Take Command now has a customizable Quick Options toolbar that is on the left side of the caption bar. The Quick Options toolbar has a customize button on the right side that adds or removes commands from Quick Options, enables / disables the Tabbed Toolbar, and minimizes or displays the ribbon.

 

Because of the change to the ribbon menu, the old styles have been deleted and new ones added to the Options menu:

 

Office 2007 Blue

Office 2007 Silver

Office 2007 Black

Office 2007 Aqua

Office 2007 System

Office 2010 Blue

Office 2010 Silver

Office 2010 Black

Office 2013

Windows 7

Windows 8

 

The Take Command Edit menu now includes Undo / Redo options (enabled if TCC is running in the active tab window ).

 

The Command Input window context menu now includes Undo / Redo options.

 

The TCC tab window context menu now includes Undo / Redo options.

 

The IDE alias window context menu now includes Undo / Redo options.

 

The IDE function window context menu now includes Undo / Redo options.

 

The IDE environment window context menu now includes Undo / Redo options.

 

The IDE user-defined functions window context menu now includes Undo / Redo options.

 

The IDE batch parameters window context menu now includes Undo / Redo options.

 

The Take Command Options menu has a new Font option to set the tab window font size (system, normal, large, and extra large).

 

Take Command has a new menu option (Tabs / Close Other Tabs) that will close all of the tabs except the current one.

 

The Take Command Explorer toolbar has been removed in order to increase the default tab window size, and most of the options moved to the View tab.

 

The Take Command tabbed toolbars now support dragging & dropping commands from the Customize dialog onto the tabbed toolbar.

 

Take Command has a new menu option (View / Full Screen) that will maximize the tab windows and hide the menu & toolbar options.

 

There is a new Take Command menu option "Tools" that displays icons to run VIEW or the batch editor / debugger.

 

The Take Command "Windows" menu option now includes additional splitter options to create a new horizontal or vertical tab group with the current tab.

 

There is a new small tab on the right of the tab window headers that opens a new default tab window.

 

Hold down the Alt key while spinning the mouse wheel to select tab windows.

 

If you manually detach a tab window, Take Command will no longer try to automatically reattach it if you have AutoAttachConsoles=Yes in your TCMD.INI.

 

Take Command now sets the hidden console windows to use a Unicode font (Consolas or Lucida Console) to avoid problems with mismatched TCMD and TCC fonts.

 

Take Command has a new menu option (Tabs / Send Input) that will send all input for that tab window to selected other tab windows.

 

Added an internal Lua interpreter. Lua scripts can be executed by entering the script name at the TCC prompt, or with the LUA command (see below). You can also execute Lua expressions with the @LUA variable function.

 

TCC command history now supports wildcards. For example, you can search for a previous command that contains the string "foo" by typing "*foo*" on the command line and pressing the up or down keys.

 

The TCC command history popup window now supports wildcards. For example, you can display all of the commands that contain the string "foo" by typing "*foo*" on the command line and pressing the PgUp key.

 

The TCC directory history popup window now supports wildcards. For example, you can display all of the directories that contain the string "foo" by typing "*foo*" on the command line and pressing the Ctrl-PgUp key.

 

The TCC popup windows can now optionally use character-mode windows instead of GUI windows. This is intended for use with server consoles that are character-mode only, or when using SSH with no GUI support; there is no benefit (and several disadvantages) in using this option for normal non-server environments. See the TCMD.INI ConsolePopupWindows directive.

 

The TCC popup windows now support Unicode characters in the Search edit control.

 

TCC customized filename completion will exclude extensions that are prefixed with a !.

 

New version of the GUI framework.

 

New versions of all of the IPWorks dll's.

 

New version of the TPIPE engine dll.

 

New version (3.3.7) of the Scintilla dll (for the IDE editor/debugger).

 

New version of V.EXE (for the internal VIEW command).

 

 

Batch Debugger / IDE:

 

If you hover the mouse over an internal or environment variable name, the IDE will show a tooltip with the current value (truncated to 512 characters if necessary).

 

If you hover the mouse over an internal command name, the IDE will show a tooltip with the command syntax.

 

 

INI Directives:

 

AliasSize=n - Increased the maximum global alias size to 512K characters.

 

ConsolePopupWindows=yes|NO - enable or disable character-mode popup windows (for example, command or directory history windows). This is intended for use with server consoles that are character-mode only, or when using SSH with no GUI support; there is no benefit (and several disadvantages) in using this option for normal non-server environments.

 

DebuggerToolTips=YES|no - enable or disable tooltips in the IDE / batch debugger that show the current value of internal and environment variables, and the syntax for internal commands.

 

FileCompletionLooping=yes|NO - enable or disable Linux-style filename completion looping. I.e., when TCC reaches the last match, it will loop back to the first match (with no indication that it has done so). It's easier to use the tab / F8 forward/back stepping in TCC, but some hard-wired Linux users wanted this.

 

FunctionSize=n - Increased the maximum global function list size to 256K characters.

 

Lua=YES|No - enable or disable executing Lua scripts directly from the TCC prompt.

 

 

New Internal Variables:

 

_IPADAPTER - returns the index of the current adapter.

 

_IPADAPTERS - returns the number of adapters in the system.

 

_IPARPPROXY - returns 1 if the local computer is acting as an ARP proxy.

 

_IPDNS - returns 1 if DNS is enabled for the local computer.

 

_IPDNSSERVER - returns the default DNS server for the local computer.

 

_IPROUTING - returns 1 if routing is enabled on the local computer.

 

_ISFTP - returns 1 if you have an SSH IFTP connection open

 

_7UNZIP_FILES - returns the number of files extracted in the last 7UNZIP command.

 

_7UNZIP_ERRORS - returns the number of errors in the last 7UNZIP command.

 

_7ZIP_FILES - returns the number of files compressed in the last 7ZIP command.

 

_7ZIP_ERRORS - returns the number of errors in the last 7ZIP command.

 

 

Updated Variable Functions:

 

@PPID[=pid] - if the argument begins with a =, it is assumed to be a PID instead of a process name.

 

@SNAPSHOT[=pid] - if the argument begins with a =, it is assumed to be a PID instead of a window title.

 

@WINCLIENTSIZE[=pid] - if the argument begins with a =, it is assumed to be a PID instead of a window title.

 

@WINEXENAME[=pid] - if the argument begins with a =, it is assumed to be a PID instead of a window title.

 

@WINPOS[=pid] - if the argument begins with a =, it is assumed to be a PID instead of a window title.

 

@WINSIZE[=pid] - if the argument begins with a =, it is assumed to be a PID instead of a window title.

 

@WINSTATE[=pid] - if the argument begins with a =, it is assumed to be a PID instead of a window title.

 

 

New Variable Functions:

 

@FONT[n] - returns console font information. n is the info requested:

 

0 - font name (Windows usually returns an empty string unless you've previously set the font)

1 - font width

2 - font height

3 - font weight

4 - font family

5 - font index in console font table

 

@IPADDRESSN[n] - returns the IP address of the adapter at index n.

 

@IPALIASES[name] - returns the other names corresponding to the host with the specified name.

 

@IPDESC[n] - returns the description for the adapter at index n.

 

@IPDHCP[n] - returns the DHCP server for the adapter at index n.

 

@IPGATEWAY[n] - returns the gateway for the adapter at index n.

 

@IPIPV6N[n] - returns the IPv6 address of the adapter at index n.

 

@IPNAMEN[n] - returns the name of the adapter at index n.

 

@IPPHYSICAL[n] - returns the physical address of the adapter at index n.

 

@IPPORT[service] - returns the port number for the specified service.

 

@IPSERVICEALIASES[service] - returns aliases for the specified service.

 

@IPSUBNET[n] - returns the subnet of the adapter at index n.

 

@IPTYPE[n] - returns the type of adapter at index n. Possible values include:

 

OTHER

WIRELESS

ETHERNET

TOKENRING

FDDI

PPP

LOOPBACK

SLIP

 

@IPWINS[n] - returns 1 if the adapter at index n uses WINS.

 

@IPWINSSERVER[n] - returns the primary WINS Server for the adapter at index n.

 

@IPZONEID[n] - returns the IPv6 Zone ID (also known as a scope ID) for the adapter at index n. The values of the Zone ID are defined relative to the sending host.

 

@LUA[expression] - execute a Lua expression.

 

@UUID[n] - creates a UUID (same as a GUID in Windows). n can be:

 

0 - returns the UUID with lower case alphabetic characters and embedded hyphens

1 - returns the UUID with upper case alphabetic characters and embedded hyphens

2 - returns the UUID with lower case alphabetic characters and no hyphens

3 - returns the UUID with upper chase alphabetic characters and no hyphens

 

@VERSION[filename[,separator[,start[,force]]]] - return a serially "versioned" replacement for the file name if the file already exists. This is distinct from the function of @UNIQUE[] in that it retains the entire filename and only appends a version separator character and an ascending version number to the filename. @VERSION does not create the file; it just returns the next available version name. @VERSION has four arguments:

 

1) the filename to "versionize" (required)

2) the version separation character (optional, defaults to ';')

3) the starting version number (if necessary to add a version number; optional, defaults to '1')

4) flag to force versioning, even if the file doesn't exist (optional, defaults to 0 or FALSE).

 

@WINTITLE[pid] - return the window title of the process with the specified PID.

 

 

Updated Commands:

 

ACTIVATE

 

If the window title argument begins with a =, it is assumed to be a PID instead of a title. (Note that this is less reliable than providing a title, as a process can have multiple top-level windows.)

 

ALIAS

 

/Z - Overwrite the alias list with the contents of the specified file (must be used with /R). ALIAS /R /Z is 20x faster than an ALIAS /R.

 

DIR

 

/nm:x - Display a maximum of 'x' directory entries.

 

DO

 

/Q - like /L, but treats double quoted arguments (with embedded whitespace) as a single argument.

 

ESET

 

ESET now supports filename completion when editing aliases.

 

FUNCTION

 

/Z - Overwrite the alias list with the contents of the specified file (must be used with /R). FUNCTION /R /Z is 20x faster than FUNCTION /R.

 

PDIR

 

/nm:x - Display a maximum of 'x' directory entries.

 

POSTMSG

 

If the window title argument begins with a =, it is assumed to be a PID instead of a title. (Note that this is less reliable than providing a title, as a process can have multiple top-level windows.)

 

TASKLIST

 

If the process name / window title argument begins with a =, it is assumed to be a PID instead of a name or title.

 

TPIPE

 

Unicode characters in the search / replace fields are now converted to UTF-8 before being processed by the Regular Expression engine.

 

Added log entries for size/date of ignored files.

 

Search/replace lists can now generate log entries (useful for debugging). Logs can optionally be output only for where replacements occurred.

 

Search/Replace lists now discard blank search terms and terms where the replacement is identical to the search.

 

Log filename now has environment variables resolved before display.

 

Named subexpressions created by a Split on Pattern filter are now saved as global variables for use in other filters.

 

Upgraded PDF component now handles more PDF document types.

 

/CLIPBOARD - Runs the current filter with input from and output to the clipboard.

 

/DUP - added an optional final argument to specify how the output should be formatted for Type=1 -- e.g., "%d %s" to show the count followed by the string.

 

/dup=Type,MatchCase,StartColumn,Length,IncludeOne,Format

 

/INPUTBINARY=n - Determines how binary files are processed. The options are:

 

0 - Binary files are processed (default)

1 - Binary files are skipped

2 - Binary files are confirmed before processing

 

/INPUTDELETE=n - If 1, the input files will be deleted after processing. USE WITH CAUTION!!

 

/INPUTPROMPT=n - If 1, TPIPE will prompt before processing each input files.

 

/OUTPUTCHANGED=n

 

0 - Always output

1 - Only output modified files

2 - Delete original if modified

 

/OUTPUTMODE=n - Sets the output mode. The options are:

 

0 - Output to clipboard (all files are merged)

1 - Output to files

2 - Output to a single merged file

 

/OUTPUTOPEN=n - If 1, TPIPE will open each output file in its associated program upon completion.

 

/LINE - added optional final argument (0 or 1) to not reset the line count at the end of the file.

/line=StartNumber,Increment,SkipBlank,DontNumberBlank,NumberFormat,DontReset

/OUTPUTFOLDER=folder - Set the output filter folder.

/SIMPLE - added new types:

81 - Shred file

82 - Unicode to escaped ASCII

83 - Restrict to Unicode files

84 - T-filter (process the same input in multiple ways)

85 - Convert HTML/XML entities to text

 

/SORT=Type,Reverse,RemoveDuplicates,StartColumn,Length - Sort files. Note that /SORT is slow on large files; it's intended for simple sorts of relatively small files. For big files, you should use a dedicated sorting app.

 

Type - the sort type

0 - ANSI sort

1 - ANSI sort (case sensitive)

2 - ASCII sort

3 - ASCII sort (case sensitive)

4 - Numeric sort

5 - Sort by length of line

Reverse - If 1, sort in descending order; if 0, sort in ascending order

RemoveDuplicates - If 1, remove duplicate lines; if 0 keep duplicate lines

StartColumn - The column in the line to begin the comparisons

Length - The length of the comparison

 

/STRING - added new types:

17 - Restrict to filenames matching the Perl pattern

18 - Restrict to filenames not matching the Perl pattern

 

VIEW

 

New version of V.EXE.

 

New octal word hex format

 

Better recognition of UTF-8 files.

 

ZIP

 

ZIP is now 500% faster when zipping files.

 

 

New Commands:

 

7UNZIP - Unzip files in .7z archives. The syntax is similar to the UNZIP command:

 
7UNZIP [/A:[[-][+]rhsdaecjot] /C /CRC /D /E /F /Nt /P /O /Q /S"password" /TEST /U /V] ziparchive path file ...

 

ziparchiveThe 7Zip file to work with
pathThe path where files will be extracted
fileThe file(s) to extract

 

/=Display the 7UNZIP command dialog to help you set the filename and command line options. You cannot specify any other arguments on the command line.
/A:...Select only those files that have the specified attribute(s) set. See Attribute Switches for information on the attributes which can follow /A:. Do not use /A: with @file lists. See @file lists for details. You can specify /A:= to display a dialog to help you set individual attributes.
/CDisplay (on standard output) the contents of a file in the zip archive.
/CRCDisplay the file CRCs (must be used with /V).
/DRecreate the directory structure saved in the 7zip file.
/EExtract the specified file(s). (This is the default.)
/FExtract only those files that currently exist in the target folder, and which are older than the file in the 7zip archive.
/Nt Don't update the CD / CDD extended directory search database (JPSTREE.IDX).
/OOverwrite existing files. 7UNZIP normally prompts before overwriting an existing file; /O will suppress the prompt.
/PDisplay the progress (0 - 100%) for each file as it is extracted.
/QDon't display filenames as they are extracted.
/SUse the specified password to extract the file(s) from an encrypted archive. If you don't provide a password on the command line, 7UNZIP will prompt you to enter one.
/TESTTest the integrity of the 7zip file (header and contents). Any errors will be displayed on STDERR.
/UExtract files which either don't exist in the target folder, or which are older than the file in the 7zip archive.
/VView the list of files in the archive (date, time, size, and filename). If the 7zip file is password protected, 7UNZIP will append a * after the filename.

 

7ZIP - Zip files in .7z archives. The syntax is similar to the ZIP command:

 

7ZIP [/A:[[-][+]rhsdaecjot] /A /C /CRC /D /F /Kn /Ln /M /O:[-]adegnrstu /P /Q /R /S"password" /T /TEST /U /V] ziparchive [@file] file...

 

ziparchiveThe 7zip file to work with
fileThe files(s) to be added to the 7zip file

 

/=Display the 7ZIP command dialog to help you set the filename and command line options. You cannot specify any other arguments on the command line.
/A:...Select only those files that have the specified attribute(s) set. See Attribute Switches for information on the attributes which can follow /A:. Do not use /A: with @file lists. See @file lists for details. You can specify /A:= to display a dialog to help you set individual attributes.
/AAdd the specified file(s) to the 7zip file. (This is the default.)
/CDisplay (on standard output) the contents of a file in the7 zip archive.
/CRCDisplay the file CRCs (must be used with /V).
/DDelete the specified file(s) from the 7zip file.
/KnCompression method:
0LZMA (default)
1BZip2
2Delta
3Copy (no compression)
4Deflate
5LZMA2
/FUpdate only those files that currently exist in the 7zip file, and which are older than the files on disk.
/LnSet the compression level (1 - 5, where 1=minimum compression, and 5=maximum compression). The default is 3.
/MDelete the files from the disk after adding them to the 7zip file.
/O:...Sort the files before processing. You may use any combination of the sorting options below. If multiple options are used, the files will be sorted with the first sort option as the primary key, the next as the secondary key, and so on:
nSort by filename and extension, unless e is explicitly included. This is the default.
-Reverse the sort order for the next sort key
aSort names and extensions in standard ASCII order, instead of numerically when numeric substrings are included in the name or extension.
dSort by date and time (oldest first); also see /T:acw
eSort by extension
gGroup subdirectories first, then files
rReverse the sort order for all options
sSort by size
tSame as d
uUnsorted
/PDisplay the progress (0 - 100%) for each file as it is zipped.
/QDon't display the files being zipped.
/RIf the argument is a subdirectory, copy all of the files in that subdirectory and all of its subdirectories to the 7zip file.
/SUse the specified password to encrypt the file(s). If you don't provide a password on the command line, 7ZIP will prompt you to enter one.
/TSave the file attributes (they will be set when the file is extracted).
/TESTTest the integrity of the 7ZIP file (header and contents). Any errors will be displayed on STDERR.
/UUpdate files which either don't exist in the 7zip file, or which are older than the files on disk.
/VView the list of files in the 7zip file (date, time, size, and filename). If the zip file is password protected, 7ZIP will append a * after the filename.

 

LUA - Invoke the internal Lua interpreter. The syntax is:

 

 lua [options] [script [args]]

 

 The options are:

 

         -e _stat_: executes string stat;

         -l _mod_: "requires" mod;

         -i: enters interactive mode after running script;

         -v: prints version information;

         --: stops handling options;

         -: executes stdin as a file and stops handling options.

 

 After handling its options, lua runs the given script, passing to it the given args as string arguments. When called without arguments, lua behaves as lua -v -i when the standard input (stdin) is the console, and as lua - otherwise.

 

 Before running any argument, the interpreter checks for an environment variable LUA_INIT. If its format is @_filename_, then lua executes the file. Otherwise, lua executes the string itself.

 

 All options are handled in order, except -i. For instance, an invocation like

 

      lua -e'a=1' -e 'print(a)' script.lua

 

 will first set a to 1, then print the value of a (which is '=1='), and finally run the file script.lua with no arguments.

 

Before starting to run the script, lua collects all arguments in the command line in a global table called arg. The script name is stored at index 0, the first argument after the script name goes to index 1, and so on. Any arguments before the script name (that is, the interpreter name plus the options) go to negative indices. For instance, in the call

 

      lua -la b.lua t1 t2

 

 the interpreter first runs the file a.lua, then creates a table

 

      arg = {

         [-2] = "lua",

         [-1] = "-la",

             [0] = "b.lua",

                 [1] = "t1", [2] = "t2" }

 

 and finally runs the file b.lua. The script is called with arg[1], arg[2], ... as arguments; it can also access these arguments with the vararg expression '=...='.

 

 In interactive mode, if you write an incomplete statement, the interpreter waits for its completion by issuing a different prompt.

 

 If the global variable _PROMPT contains a string, then its value is used as the prompt. Similarly, if the global variable _PROMPT2 contains a string, its value is used as the secondary prompt (issued during incomplete statements). Therefore, both prompts can be changed directly on the command line. For instance,

 

      lua -e"_PROMPT='myprompt> '" -i

 

 (the outer pair of quotes is for the shell, the inner pair is for Lua), or in any Lua programs by assigning to _PROMPT. Note the use of -i to enter interactive mode; otherwise, the program would just end silently right after the assignment to _PROMPT.

 

WAKEONLAN - send a "Wake-On-LAN" packet to the specified system (which may also be a broadcast address). This will power on the remote machine if the functionality is supported by the network card on the remote machine.) The syntax is:

 

WAKEONLAN remotehost macaddress

 

remotehost - the address of the machine to wake

macaddress - the physical address of the remote host