NEW VERSION OVERVIEW - Take Command 11.0

 

This is a summary of the compatibility fixes and new features. For complete details, see the appropriate topics in this help file.

 

The new features that are supported in TCC/LE (including the TCC/LE component of Take Command/LE) are marked with a *.

 

Feature List:

 

Both Take Command and TCC are now also available in x64 versions.

 

You can now put (simple) GUI apps into tabs. Note that this will not work for apps that have multiple parent windows!

 

The Take Command toolbar is now a "tabbed toolbar", allowing up to 20 tabs and 50 buttons per tab. You can also now right click on any button to edit it.

 

Take Command supports remapped console color palettes in the tab windows. If you are running Vista or later, Take Command will use the individual palette defined for each console.

 

Display output in Take Command tab windows is 20% faster than v10.

 

Take Command can now optionally automatically attach all console apps to tabs, regardless of how or when they are started.

 

The "Attach Tabs" menu option in TCMD now includes hidden console windows. (This allows you to reattach consoles that may have been orphaned from a TCMD crash or unusual shutdown.)

 

You can now drag and drop into the Folders View.

 

The popup windows (history, file searching, etc.) now display the current search string on the left side of the window toolbar.

 

TCC now loads more than twice as fast as in v10.

 

Added SSH FTP (SFTP) support.

 

The FTP, FTPS, and SFTP syntax now accepts a "*" as the password as a request for an interactive password prompt; i.e.:

 

dir ftps://bob:*@ftp.jpsoft.com/mydir

 

The new environment variable PROMPT2 defines the prompt used for line continuations (i.e., when the last character on the line is an escape character). The default is "More? ".

 

*The directory stack (DIRS, PUSHD, POPD) size has been increased to 4K.

 

Added embedded Tcl / tk support.

 

The TCMD tab labels can be rotated 90 degrees (see TabRotation in the .INI directives), allowing you to fit a lot more labels at the cost of slightly smaller tab windows

 

*Added support for embedded variables in the CMD delayed expansion (!var!) syntax.

 

The Command Input window can now be autosaved & autoloaded. (See the CommandInputFile .INI directive below.)

 

*DESCRIPT.ION reads are 500% faster.

 

Increased the maximum number of Take Command startup tabs to 25.

 

Increased the maximum argument size in TCC to 8191 characters.

 

Added a "Run..." dialog option to the Take Command tab context menu.

 

The file processing commands (COPY, DEL,DO,  FOR, MOVE, RENAME, etc.) have a new /O:... option to sort the files before they are processed. The sorted filenames are saved to memory before being passed to the command; this allows you to dispense with temporary files when the command might otherwise process the same filename twice (for example, with FOR and RENAME).

 

Startup Options:

 

TCC /IX - don't execute TCEXIT

 

TCC /Q - don't display copyright / version message (registered copies only)

 

.INI Directives:

 

This list is for your information only. You should always use OPTION (in TCC) or "Options / Configure Take Command" (in Take Command) to set your TCMD.INI options.

 

AutoAttachConsole - if Yes, TCMD will periodically look for and create a new tab for any unattached console windows. (Note that this means you cannot ever detach a console tab!)

 

AutoCDD - if No, disables the automatic directory changes (i.e., directory name with a trailing \) as the only argument on the command line

 

ClosePrompt - if 1, Take Command will pop up a message box to confirm exiting

 

CommandInputFile - name of a file used to save & restore the Command Input window

 

HistCase - if Yes, command history comparisons will be case sensitive

 

LockExplorerBar - if 1, TCMD will lock the Explorer toolbar in place (so it cannot be moved or docked)

 

LockMenuBar - if 1, TCMD will lock the menu bar in place (so it cannot be moved or docked)

 

LockTabBar - if 1, TCMD will lock the tab toolbar in place (so it cannot be moved or docked)

 

NoINIErrors - if Yes, suppresses error messages when parsing TCMD.INI

 

SSHLocalPort - the TCP port in the local host where IPPort binds.

 

SSHLocalHost - the name of the local host or user-assigned IP interface through which connections are initiated or accepted.

 

SSHPort - the port on the SSH server where the SSH service is running (default is 22).

 

TabRotation - if 1, TCMD will rotate the tab labels (and text) 90 degrees. (This allows you to fit many more tabs in the window, at the cost of a reduced window size.)

 

Tcl - if Yes, TCC will execute *.tcl scripts.

 

Command Line Editing:

 

Tab completion now supports internal variables

 

Tab completion now supports variable functions

 

Tab completion now checks for ftp / ftps names (ftp://xxx) and won't break on the first /

 

New Commands:

 

UNZIP - Extract files from a zip archive. UNZIP will automatically use the Zip64 extensions if the archive is in Zip64 format. The UNZIP syntax is:

 

UNZIP [/C /D /E /F /O /S"password" /U /V] ziparchive path ...

 

VBEEP - flash the screen (by setting all the attributes to their inverse) and optionally beep the speaker. The syntax is the same as BEEP:

 

VBEEP [frequency duration...][asterisk | exclamation | hand | question | ok]

 

ZIP - Add, update, or delete files to a zip archive. UNZIP will automatically use the Zip64 extensions if the archive is in Zip64 format. The ZIP syntax is:

 

ZIP [A:[[-][+]rhsdaecjot] /A /C /D /F /M /O:[-]adegnrstu /P /Q /R /S"password" /U /V /YC] ziparchive [@file] file...

 

Commands:

 

ATTRIB

 

/O:xxx to sort files before they are processed

 

+C | -C - compress or uncompress the file or directory

 

BEEP

 

Now supported in the x64 version of TCC. (Because 64-bit versions of Windows do not support playing sounds through the Windows Beep API, TCC x64 uses DirectSound for BEEP.)

 

CDD

 

/Un sets recursion depth for JPSTREE.IDX updates (like /Sn)

 

COPY

 

Added number of files that failed to copy to the result

 

/O:xxx to sort files before they are processed

 

/Nn will not update the file descriptions (either in DESCRIPT.ION or an NTFS stream)

 

/W will delete files in the target directory that don't exist in the source directory (use this instead of SYNC when you only want to synchronize "one-way")

 

DEL

 

/O:xxx to sort files before they are processed

 

Added number of files that failed to be deleted to the result

 

/S /X displays the directories removed (with a trailing \)

 

/L deletes symlinks instead of their contents

 

/Nn will not update the file descriptions (either in DESCRIPT.ION or an NTFS stream)

 

DESCRIBE

 

/O:xxx to sort files before they are processed

 

DIR

 

/F now supports colorization

 

/B /S now supports colorization

 

DIRS

 

+n / -n - rotate the directory stack up or down by the specified amount

 

/Q - don't display the directory stack (only useful when combined with +n or -n)

 

DO

 

/O:xxx to sort files before they are processed

 

ENDLOCAL

 

Can now be used at the command line (including aliases). The maximum nesting level is 10.

 

FFIND

 

/H will skip binary files (user-configurable file extensions) when searching.

 

FOR

 

/O:xxx to sort files before they are processed

 

HEAD

 

/N+n - skip first n lines

 

/O:xxx to sort files before they are processed

 

HISTORY

 

/R - if you load a file that is larger than the history list size, HISTORY will only load the last part of the file that will fit

 

/Tn - if n is positive, only display the last 'n' history entries. If n is negative, skip the first 'n' entries.

 

/V - Display the history in reverse order (most recent first)

 

INPUT

 

/K"..." - only accept the specified characters

 

LIST

 

/O:xxx to sort files before they are processed

 

MD

 

/C - create a compressed directory

 

MOVE

 

/O:xxx to sort files before they are processed.

 

Added number of files that failed to be moved to the result

 

/Nn will not update the file descriptions (either in DESCRIPT.ION or an NTFS stream)

 

/Ns will not display the summary

 

OPTION

 

//directive with no value will reset to the default value

 

/U - check https://jpsoft.com for updates

 

PDIR

 

Added support for escaped characters in separator text

 

PLUGIN

 

/C - only display commands

 

/F - only display variable functions

 

/K - only display keystroke plugins

 

/V - only display internal variables

 

REN

 

/O:xxx to sort files before they are processed

 

Added number of files that failed to be renamed to the result

 

/Ns will suppress the summary

 

/Nn will not update the file descriptions (either in DESCRIPT.ION or an NTFS stream)

 

SETLOCAL

 

Can now be used at the command line (including aliases). The maximum nesting level is 10.

 

SYNC

 

/O:xxx to sort files before they are processed

 

/Nn will not update the file descriptions (either in DESCRIPT.ION or an NTFS stream)

 

TAIL

 

/O:xxx to sort files before they are processed

 

TASKLIST

 

/C will display the current priority class for each process

 

/L will display the startup command line for the process (this replaces the window title in the output)

 

TCTOOLBAR

 

Added a new parameter at the beginning of the argument list to specify on which tab the button should be set. (The tab to use is specified by its label.)

 

TOUCH

 

/O:xxx to sort files before they are processed

 

/R can now copy an existing directory's timestamp to a newly created (/C) file

 

TREE

 

/O:xxx to sort files before they are processed

 

/Z without /F will now display the directory tree sizes. (Each directory size is the size of the current directory and all of its subdirectories.)

 

TYPE

 

/O:xxx to sort files before they are processed

 

/X supports binary files

 

WHICH

 

Plugin commands now show the plugin name (i.e., "Foo is a plugin command (Foobar)")

 

WINDOW

 

DETACH - detach the TCC process from a TCMD tab window

 

Internal  Variables:

 

_CONSOLEB - the handle to the console screen buffer

 

_ISODOWI - ISO 8601 numeric day of week (Mon=1, Sun=7)

 

_ISOWDATE - ISO 8601 current week date (yyyy-Www-d)

 

_ISOWEEK - ISO 8601 week of year

 

_ISOWYEAR - ISO 8601 week date year

 

_SERVICE - returns 1 if TCC was started as a service (TCC /N)

 

_TCTABACTIVE - returns 1 if this TCC instance is the active tab in Take Command

 

_WOW64DIR - returns the system Wow64 directory (x64 Windows only)

 

_X64 - returns 1 if TCC is the x64 (64-bit) version

 

Variable Functions:

 

@AGEDATE - added support for ISO 8601 formats 5 (yyyy-Www-d) and 6 (yyyy-ddd)

 

@BPEEK, @BPEEKSTR, @BPOKE, @BPOKESTR,  @BREAD, @BWRITE - now accept either decimal or hex arguments for offset / size / length

 

@CONSOLEB[handle] - create or restore a console screen buffer. "Handle" is the handle to the desired screen buffer. If "handle is -1, @CONSOLEB just returns the current buffer handle. If "handle" is 0, @CONSOLEB will create and activate a new console screen buffer. If "handle" is non-zero, @CONSOLEB will switch to that screen buffer. @CONSOLEB returns the handle to the active screen buffer. @CONSOLEB allows you to preserve the contents of the current screen buffer by switching to a second buffer temporarily and and then back to the original buffer.

 

@DATECONV[date,format] - convert date from one format to another format (output):
0 system default        
1 USA (mm/dd/yy)        
2 European (dd/mm/yy)        
3 Japan (yy/mm/dd)        
4 ISO 8601 (yyyy-mm-dd)    
5 ISO 8601 yyyy-Www-d
6 ISO 8601 yyyy-ddd

 

@DISKFREE, @DISKUSED, @DISKTOTAL, @DOSMEM, @WINMEMORY - added E/e (Exabytes) option. (Zettabytes and Yottabytes will have to wait for 128-bit CPUs and OS's.)

 

@EXECSTR - now supports a negative start line number to mean "starting at the end and counting back"

 

@EXPAND - added support for exclusion ranges

 

@FILESIZE - added support for Terabytes (t/T), Petabytes (p/P) and Exabytes (e/E)

 

@ISODOWI[date] - ISO 8601 numeric day of week

 

@ISOWEEK[date] - ISO 8601 numeric week of year

 

@ISOWYEAR[date] - ISO 8601 numeric week date year

 

@ISPRIME[n] - returns 1 if the (64-bit) n is a prime number

 

@MAKEAGE - added support for ISO 8601 yyyy-Www-d and yyyy-ddd dates

 

@MAKEDATE - added support for ISO 8601 formats 5 (yyyy-Www-d) and 6 (yyyy-ddd)

 

@PIDCOMMAND[pid] - return the startup command line for the specified process ID

 

@PLUGINVER[plugin] - returns the version number (major.minor.build) for the specified plugin

 

@PRIME[n] - returns the first prime >= (64-bit) n

 

@PRIORITY[pid] - return the priority class for the specified PID. The return values are (in hex):

 8000 - Above normal

 4000 - Below normal

 100 - realtime

 80 - High

 40 - Idle

 20 - Normal

 

@PROCESSTIME[pid,n] - return the process times as a fileage. n is the time to return:

 0 - start time

 1 - end time

 2 - kernel mode time

 3 - user mode time

 

@SYSTEMTIME[n] - return the system times as a fileage. n is the time to return:

 0 - idle time

 1 - kernel mode time

 2 - user mode time

 

@TCL - execute a Tcl command

 

@TK - execute a Tk script

 

Batch Debugger:

 

The evaluation window (Alt-F11) now supports copying the result to the clipboard

 

If you right click in the first column of the Watch window, the debugger will pop up an environment variable listbox. If you select an entry, it will be added to the watch list.

 

Plugins:

 

Updated the TakeCmd.h file with the new functions

 

Added some new functions for manipulating the directory history and command history:

 

 DirHistoryStart(void) - returns a pointer to the beginning of the directory history

 

 HistoryStart(void) - returns a pointer to the beginning of the command history

 

 DeleteFromHistory( LPTSTR lpszLine ) - deletes the line from the command history (this is a pointer to the line to be deleted, not a line to be matched!)

 

If the user tries to display online help with HELP, F1 or Ctrl-F1, TCC will check for a plugin variable, variable function, or command, and if the name matches search for, load and execute a "Help" function in the plugin. The plugin is responsible for displaying its own help. The "Help" function should NOT appear in the plugin's comma-delimited function list in pszFunctions. Help should return 1 if it displayed help (or if it doesn't want TCC to try to display help for this topic). The syntax of the Help function in the plugin should be:

 

 Help( LPTSTR pszName );

 

If Take Command wants to display usage text, TCC will check for a plugin command, and if the name matches search for, load and execute a "Usage" function in the plugin. The plugin is responsible for displaying its own help. The "Usage" function should NOT appear in the plugin's comma-delimited function list in pszFunctions. The plugin should return a multi-line string containing the command syntax. The first line (terminated by a \r) is displayed in the Take Command status bar. The entire string is displayed as a tooltip popup when the mouse hovers over the status bar message. Usage should return 1 if it wrote something to pszUsage (or if it doesn't want TCC to try to display a usage string). The syntax of the Usage function in the plugin should be:

 

 Usage( LPTSTR pszName, LPTSTR pszUsage );

 

The TakeCommandIPC function allows plugins to communicate with the controlling Take Command instance. The syntax is:

 

DLLExports int TakeCommandIPC( LPTSTR pszCommand, LPTSTR pszArguments );

 

The supported commands are:

 

HWND

       Returns the Take Command window handle in pszArguments

 

TCTAB

 Returns 1 if the process ID in pszArguments is running in a TC window

 

TCTABS

 Returns the number of Take Command tab windows

 

HVIEW

 Returns the handle of the active tab window in pszArguments

 

HELP

 Displays the Take Command help for the topic in pszArguments

 

USAGE

 Display the usage message in pszArguments in the status bar. The first line (up to the first CR) is displayed in the

       status bar; the rest is displayed in the tooltip if you hover the mouse over the status bar.

 

STATUSBAR

 Display the message in pszArguments in the status bar

 

TCTOOLBAR

 Update the Take Command tab toolbar with pszArguments

 

TCFILTER

 Return the selected filter in the list view in pszArguments

 

TCFILTER_CMD

 Set the selected filter in the list view to the value in pszArguments

 

CDD

 Change the folder and list view to the directory in pszArguments

 

TCFOLDER

 Return the selected folder in the Folders tree control in pszArguments

 

SHORTCUT

 Return the name of the shortcut that started Take Command in pszArguments

 

SELECTED

 Return the currently selected text in pszArguments

 

SELECT

 Mark the selection specified in pszArguments (top, left, bottom, right) in Take Command

 

START

 Attach a hidden console window whose hex PID is in pszArguments

 

ACTIVATE

 Activate the window whose handle is in pszArguments

 

WINDOW

 Has a number of arguments (specified in pszArguments) to control the Take Command window:

MAX

MIN

HIDE

RES

TRAY

TRANS=n

FLASH=n

DETACH n (where n is the PID of the process to detach)

TOPMOST

NOTOPMOST

TOP

BOTTOM