Take Command Changelog

What's new in Take Command 31.01.15

Nov 26, 2023
  • Many security, performance & size improvements.

New in Take Command 30.00.7 (May 9, 2023)

  • Many security, performance & size improvements.
  • The GUI framework library has been updated.
  • The Tools ribbon has a new option to invoke the new search & replace command (see SREPLACE below).

New in Take Command 28.00.9 (Jul 13, 2021)

  • Many security, performance & size improvements.
  • Take Command is now CET Shadow Stack compatible.
  • The GUI framework library has been updated.
  • Improved support for high resolution displays and multiple monitors.
  • Take Command has two new themes (Options / Styles / Themes):
  • Windows 10 Light
  • Windows 10 Dark

New in Take Command 27.00.16 (Dec 17, 2020)

  • Take Command:
  • Many performance & size improvements.
  • The GUI framework library has been updated.
  • If the "auto attach consoles" option is enabled, Take Command will check to ensure the console is on the same virtual desktop before attaching it to a tab.
  • The tab label context menu (right click) has a new option "Notifications..." that displays the Notification dialogThis dialog allows you to send an activity and/or silence notification request to Take Command (see also the NOTIFY command in the TCC new commands below).
  • Activity notifications: When Take Command updates the tab window, it checks to see if the time since the last update is >= to timeout, and if so it will execute the specified command.
  • Silence notification: timeout is the number of seconds without any display output before Take Command will execute the specified command.
  • repeat - The number of times to notify on a matching activity / silence, or "forever".
  • timeout - The number of seconds before triggering a notification.
  • command - The command to execute on an activity / silence match

New in Take Command 23.00.21 (Jul 2, 2018)

  • Over 200 new features since v22, including an integrated NoSQL database engine, command line syntax coloring, macro recording and playback, and expanded help.

New in Take Command 22.0.39 (Mar 5, 2018)

  • Over 200 new features since v21, including library functions, hundreds of UI tweaks, individualized tab completion for internal commands, more line editing & tab completion options, and expanded help.

New in Take Command 21.01.48 (Sep 11, 2017)

  • Over 500 new features since v20, including increased speed and reduced size, many UI tweaks, expanded help, more flexible command dialogs, Windows job creation and monitoring, 11 new variables and functions, and 18 new and 71 updated internal commands.

New in Take Command 18.00 Build 15 (Jun 12, 2015)

  • Feature List:
  • Take Command v18.0 is using a new version of the installer.
  • The Take Command installer now offers to optionally associate batch files (.BAT, .BTM, and/or .CMD) with TCMD.EXE.
  • Take Command v18.0 is using a new version of the Scintilla edit control (for the IDE / batch debugger and the Take Command Command Input window).
  • Take Command v18.0 is using a new version of Oniguruma (regular expression parser).
  • Take Command v18.0 is using a new version of textpipeengine.dll (TPIPE).
  • Take Command v18.0 is using a new version of Lua (5.3).
  • The Everything Search Engine from voidtools is now included in Take Command.
  • Error logging and exception handling has been completely redone. Instead of a TCMD.GPF / TCC.GPF file, Take Command, TCC, and the IDE will now create tcmd.log, tcc.log, and ide.log files that contain the error info (including the file name, function, and line number of the error). The log files will be created in the installation directory if it is writeable (i.e. not in "Program Files" or "Program Files (x86)). If not, they will be in c:\users\\appdata\local\jpsoft.
  • Take Command:
  • The open file / save file dialogs have been updated to the Windows 7 / Windows 8 format.
  • There is a new menu entry "Regex" under Tools, that displays a regular expression analyzer
  • TCC:
  • The open file / save file dialogs have been updated to the Windows 7 / Windows 8 format.
  • There is a new popup dialog (invoked by pressing Ctrl-F7), that displays a regular expression analyzer.
  • IDE / Batch Debugger:
  • The open file / save file dialogs have been updated to the Windows 7 / Windows 8 format.
  • The Options menu has two new entries: TCC Syntax - use the TCC syntax colorizer. / CMD Syntax - use the CMD syntax colorizer.
  • There is a new tab window at the bottom ("Modified") that shows all variables that are set while executing the batch file. (This is like the "Auto" window in Visual Studio.)
  • File/Open now loads the breakpoint file (filename.ext.bp) and the watched vars file (filename.ext.watch) automatically when you load a batch file.
  • File/Save now saves the breakpoint file (filename.ext.bp) and the watched vars file (filename.ext.watch) automatically when you save a batch file.
  • INI Directives:
  • EverythingSearch=YES|no - now defaults to YES.
  • Regex=Ctrl-F7 - default key to pop up the regular expression analyzer dialog.
  • RightClickPaste=yes|NO - if YES, a right click in a TCMD tab window will paste the clipboard contents instead of invoking the context menu. (Note that this isn't necessary for most users, as the middle mouse button already does a paste.)
  • New Environment Variables:
  • CMDLINE2 - the original command line (before alias and variable expansion, redirection, compound commands, etc.).
  • New Internal Variables:
  • _HYPERV - returns 1 if TCC is running in a Hyper-V VM.
  • _POWERBATTERY - returns the battery % (0-100) when the POWERMONITOR condition is triggered.
  • _POWERDISPLAY - returns 0 if the primary monitor is powered off or 1 if it is on.
  • _POWERSCHEME - returns the power scheme in use when the POWERMONITOR condition is triggered.
  • _POWERSOURCE - returns the power source (AC or DC) when the POWERMONITOR condition is triggered.
  • _TASKDIALOG_BUTTON - the button pressed to exit TASKDIALOG.
  • _TASKDIALOG_RADIO - the selected radio button (if any) in TASKDIALOG.
  • _TASKDIALOG_VERIFY - returns 1 if the verify button was checked in TASKDIALOG.
  • _XEN - returns 1 if TCC is running in a Xen VM.
  • Updated Internal Variables:
  • _do_dirs - returns the value for the current DO loop (i.e., nested DO's each have their own _do_dirs).
  • _do_errors- returns the value for the current DO loop (i.e., nested DO's each have their own _do_errors).
  • _do_files- returns the value for the current DO loop (i.e., nested DO's each have their own _do_files).
  • _do_loop- returns the value for the current DO loop (i.e., nested DO's each have their own _do_loop).
  • Updated Variable Functions:
  • @EVAL - added support for scientific notation both in the input and output.
  • @FILEREAD - added support for UTF8 files (with BOM or UTF8 extended chars within the first 2K).
  • @GETDIR - now uses the Windows 7 / Windows 8 open file dialog.
  • @SHA1[[s,]filename] - added an optional first argument "s" to generate the hash on a string (in filename), not a file.
  • @SHA256[[s,]filename] - added an optional first argument "s" to generate the hash on a string (in filename), not a file.
  • @SHA384[[s,]filename] - added an optional first argument "s" to generate the hash on a string (in filename), not a file.
  • @SHA512[[s,]filename] - added an optional first argument "s" to generate the hash on a string (in filename), not a file.
  • @TRUENAME - a leading ~\ or ~/ will be interpreted as the current user's home directory.
  • New Variable Functions:
  • @EVERYTHING[filename[,cdfpw[,n]]] - calls Everything Search to return all matching filenames / directories (space delimited).
  • @FILELOCK[filename] - returns the PIDs of the process(e)s with a lock on the specified file.
  • @PIDUSER[pid] - returns the user name for the specified process ID. (System processes return an empty string.)
  • Updated Commands:
  • 7UNZIP
  • CDD
  • EJECTMEDIA
  • EVERYTHING
  • FOR
  • HEAD
  • LUA
  • PLAYAVI
  • PLAYSOUND
  • PROMPT
  • PUSHD
  • TAIL
  • TAR
  • TASKBAR
  • TASKDIALOG
  • TASKLIST
  • TITLE
  • TPIPE
  • TRUENAME
  • TYPE
  • UNTAR
  • UNZIP
  • WHICH
  • New Commands:
  • COPYDIR
  • FILELOCK
  • JUMPLIST
  • MOUNTISO
  • MOVEDIR
  • POWERMONITOR
  • UNMOUNTISO

New in Take Command 17.00 Build 53 (Nov 17, 2014)

  • 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).
  • 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
  • TCC:
  • 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.
  • 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.
  • 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.
  • @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.
  • @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.
  • 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
  • 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).
  • REGMONITOR: Monitor Windows Registry keys.

New in Take Command 16.00 Build 36 (Jan 13, 2014)

  • 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.
  • _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:

New in Take Command 15.00 Build 17 Beta (Mar 11, 2013)

  • Feature List:
  • Take Command is now built with Visual Studio 2012.
  • Updated the TextPipe engine to 9.3.1.
  • Update the Scintilla editor (used by the IDE and Command Input window) to 3.2.5.
  • Updated the installer.
  • Updated the registration & licensing modules. Registration can now only be done from within Take Command (Help menu), not TCC.
  • The Take Command help is now also available in ePUB format at ftp://ftp.jpsoft.com/help/TakeCommand.epub. You can choose either the PDF or ePUB format for reading on your portable devices.
  • TCC is now supported in the Windows PE environment. (There are a few commands that won't work because of missing Windows APIs, and Take Command won't work because there is no GUI.)
  • If Take Command, TCC, or the IDE crash, they will now automatically send the TCMD.GPF error file to [email protected]. (If you have a reproducible error, please still send the steps to reproduce the problem.)
  • Take Command now doesn't update the Folder & List Views at startup if they are disabled or set to AutoHide. (This will speed up the load time substantially if you have network drives which are mapped but unavailable.)
  • The password fields in TCMD.INI are now encrypted when they are saved. (The encryption is strong, but if somebody wants to debug TCC.EXE and monitor the API calls, they'll eventually be able to figure out the unencrypted strings. But they'll have to work for it.)
  • The Command Input window now uses the same font and point size as the tab windows.
  • Take Command now disables updates when renaming folders in the Folder View.
  • Take Command now disables updates when renaming files or directories in the List View.
  • Take Command now disables updates when editing descriptions in the List View.
  • The Take Command Folder View now supports Ctrl-C or Ctrl-Insert to copy the current selection to the clipboard.
  • The Take Command List View now supports Ctrl-C or Ctrl-Insert to copy the current selection(s) to the clipboard.
  • Take Command now supports copying descriptions in DESCRIPT.ION when copying / dragging / dropping files in the Folder & List View windows.
  • Added a global hotkey (default Ctrl-Shift-T) to toggle Take Command to and from the system tray.
  • Updated the Internet support dll's for TCC.
  • Updated the zip / tar support dll's for TCC.
  • Added support for the new OpenAFS 1.7.x redirector when retrieving the volume information (for example, in FREE, %@DISKFREE, etc.).
  • The TCC command line editor has Undo and Redo support. You can remap the keys with the "Undo" and "Redo" key mapping entries in TCMD.INI.
  • Batch Editor / Debugger:
  • When a file has been modified, the tab title will be updated with a leading *. When the file is saved, the * will be removed.
  • INI Directives:
  • TrayHotKey=T The hotkey to toggle Take Command to and from the system tray. The specified alphabetic key is combined with Ctrl + Shift, so the default hotkey is Ctrl-Shift-T.
  • Copyright=YES|no Display the TCC copyright message at startup. This is the same as the TCC /Q startup option, and only applies to registered copies.
  • EverythingSearch=yes|NO If YES, CDD will use "Everything Search" (http://www.voidtools.com) instead of JPSTREE.IDX for fuzzy directory matching.
  • FilesCaseSensitive=yes|NO If YES, filename comparisons will be case sensitive (like Linux, and unlike Windows).
  • Redo=Alt-Y Key mapping directive to redo last edit
  • Undo=Alt-Z Key mapping directive to undo last edit
  • The password fields in TCMD.INI for the Internet settings are encrypted.
  • Variable Functions:
  • %@DISKFREE - Now supports the OpenAFS 1.7.x redirector to retrieve disk space usage.
  • %@DISKTOTAL - Now supports the OpenAFS 1.7.x redirector to retrieve disk space usage.
  • %@DISKUSED - Now supports the OpenAFS 1.7.x redirector to retrieve disk space usage.
  • %@FORMAT - If the second argument (string) doesn't exist, @FORMAT now treats it as an empty string and pads the output accordingly.
  • %@TIME - Added (not very useful, not recommended, and then only for the USA) support for am/pm time.
  • %@TALNUM[string] - Returns the number of alphanumeric (a-z, A-Z, and 0-9) characters in the string
  • %@TALPHA[string] - Returns the number of alphabetic characters (a-z, A-Z) in the string
  • %@TASCII[string] - Returns the number of 7-bit ASCII characters (0x00 - 0x7F) in the string
  • %@TCNTRL[string] - Returns the number of ASCII control characters (0x00 - 0x1F and 0x7F) in the string
  • %@TLOWER[string] - Returns the number of lower case alphabetic characters in the string
  • %@TUPPER[string] - Returns the number of upper case alphabetic characters in the string
  • %@TDIGIT[string] - Returns the number of decimal digits (0-9) in the string
  • %@TPRINT[string] - Returns the number of printable characters in the string
  • %@TPUNCT[string] - Returns the number of punctuation characters (printable characters which are not alphanumeric or space) in the string
  • %@TSPACE[string] - Returns the number of white space characters (0x09 - 0x0D or 0x20) in the string
  • %@TXDIGIT[string] - Returns the number of hexadecimal digits (0 - 9, A - F) in the string
  • Plugins:
  • Plugins can now access array variables directly through the ArrayVariables array.

New in Take Command 14.00.19 Beta (Jun 1, 2012)

  • Feature List:
  • Take Command now supports a splitter window (on the horizontal scrollbar). You must enable "Splitter Windows" in the Take Command configuration dialog (Tabs window), and restart TCMD to see the splitter. (Note that it is technically impossible to display splitter console windows, so TCMD is using a lot of hand-waving, smoke, and mirrors.) The splitter window (on the right side) will not automatically scroll to the end when new output is displayed, or when you enter new commands. This allows you to scroll back in the screen buffer to review previous commands and output, and to select text from previous pages.
  • Take Command will check to see if your maximum allowable console window size (as set by Windows) is smaller than your Take Command tab window; if so Take Command will reduce the console font size until the console window size matches the tab window. (Requires Windows Vista or later.)
  • The Internet code has been substantially rewritten and ported to a new major update of the IPWorks dll's.
  • The conditional tests (DO, IF, IFF, etc.) now accept ! as a synonym for NOT.
  • Alt-F9 will restore the original filename mask when doing filename completion. This will only work provided you haven't terminated the completion loop; i.e., by pressing anything other than tab, F8, F9, F10, or F12.
  • Alt-F6 will no longer open the Folder View and List View windows if they're disabled; it will toggle between the Command Input window and the active tab window.
  • Added a "Register for all users" option (checkbox on the register page). This option will only be enabled if you are running an elevated administrator session.
  • INI Directives:
  • CompleteAllFiles=yes|NO - Normally, TCC will only complete directories and executable files (as defined by PATHEXT) when you press Tab or F9 at the beginning of a command line. If CompleteAllFiles is set to YES, TCC will complete any matching filename. Note that if you also have CompletePaths set, you'll probably have several hundred (or thousand!) matches for any filename you enter.
  • SplitterWindows=NO|yes - If YES, Take Command will display a horizontal scrollbar with a splitter in each tab window.
  • Internal Variables:
  • _SERIALPORTS - Returns a space-delimited list of all of the available serial ports (COM1 - COMn).
  • Variable Functions:
  • @FILES[/H filename] - Don't count "." or ".."
  • @REREPLACE[ source_re, target_re, source ] - Regular expression back reference replacement.
  • source_re - Regular expression to apply to the source
  • target_re - Regular expression for back reference
  • source - Source string
  • @SERIALPORTCLOSE[ n ] - Close the serial port. "n" is the handle returned by @SERIALPORTOPEN.
  • @SERIALPORTFLUSH[ n ] - Flush the contents of the serial port buffer. "n" is the handle returned by @SERIALPORTOPEN.
  • @SERIALPORTOPEN[COMn[, baud[, parity[, bits[, flow]]]]] - Open a serial port for read & write. The parameters are:
  • COMn - The COM port to open (COM1 - COM9)
  • baud - The baud rate (110 - 256000)
  • parity - The parity scheme to use. This can be one of the following values:
  • odd
  • even
  • mark
  • space
  • bits - The number of bits in the bytes to transmit & receive
  • flow - The type of flow control to use. This can be one of the following values:
  • CtsRts
  • CtsDtr
  • DsrRts
  • DsrDtr
  • XonXoff
  • @SERIALPORTOPEN returns a handle to the serial port, which must be passed to the other serial port functions.
  • @SERIALPORTREAD[ n ] - Reads a string from the serial port. "n" is the handle returned by @SERIALPORTOPEN.
  • @SERIALPORTWRITE[ n, text ] - Writes a string to the serial port. "n" is the handle returned by @SERIALPORTOPEN.
  • @SMCLOSE[ n ] - Close a shared memory handle.
  • n - The shared memory handle returned by @SMOPEN
  • @SMOPEN[ size, name ] - Open a handle to shared memory
  • size - The size of shared memory (in bytes)
  • name - The name of the shared memory. The name can have a "Global\" or "Local\" prefix to create the object in the global or session namespace.
  • @SMPEEK[handle,offset,size] - Read a value from shared memory.
  • handle - a handle from @SMOPEN
  • offset - the byte offset in the buffer (decimal or hex)
  • size - the size of the value to read (in bytes):
  • 1 - character
  • 2 - short
  • 4 - int
  • 8 - int64
  • @SMPOKE[handle,offset,size,value] : Write a value to shared memory
  • handle - a handle from @SMOPEN
  • offset - the byte offset in the buffer (decimal or hex)
  • size - the size of the value (in bytes):
  • 1 - character
  • 2 - short
  • 4 - int
  • 8 - int64
  • value - the value to poke
  • @SMREAD[ n, offset, type, length ] - Read a string from shared memory
  • n - The shared memory handle returned by @SMOPEN
  • offset - The offset (in bytes) from the beginning of the shared memory buffer.
  • type - Either a to read the string as ASCII or u to write it as Unicode.
  • length - The length of the string (in characters) to read.
  • @SMWRITE[ n, offset, type, string ] - Write a string to shared memory
  • n - The shared memory handle returned by @SMOPEN
  • offset - The offset (in bytes) from the beginning of the shared memory buffer.
  • type - Either a to write the string as ASCII or u to write it as Unicode.
  • string - The string to write.
  • @TRIMALL[string] - Remove leading and trailing spaces and tabs, and extra internal spaces and tabs.
  • Updated Commands:
  • COPY
  • If you don't specify any arguments, COPY will display the command dialog.
  • Added support for regular expression back references in the target name. If you are using back references, you must use a regular expression in the source name. The syntax is:
  • copy ::filename ::target
  • See the help for details about back references.
  • DEL
  • If you don't specify any arguments, DEL will display the command dialog.
  • DESCRIBE
  • If you don't specify any arguments, DESCRIBE will display the command dialog.
  • ESET
  • /C - copy the value from another variable / alias / function. The syntax is:
  • eset /c var1 var2
  • where "var1" is the variable whose value you want to copy, and "var2" is the variable (new or existing) that you want to update.
  • GLOBAL
  • If you don't specify any arguments, GLOBAL will display the command dialog.
  • JABBER
  • If you don't specify any arguments, JABBER will display the command dialog.
  • If you don't specify any arguments, MD will display the command dialog.
  • MKLINK
  • If you don't specify any arguments, MKLINK will display the command dialog.
  • MKLNK
  • If you don't specify any arguments, MKLNK will display the command dialog.
  • MOVE
  • If you don't specify any arguments, MOVE will display the command dialog.
  • Added support for regular expression back references in the target name. If you are using back references, you must use a regular expression in the source name. The syntax is:
  • move ::source ::target
  • See the help for details about back references.
  • PDIR
  • Now supports multiple nested *'s in a @ function specification.
  • PLAYSOUND
  • If you don't specify any arguments, PLAYSOUND will display the command dialog.
  • If you don't specify any arguments, RD will display the command dialog.
  • REN
  • If you don't specify any arguments, REN will display the command dialog.
  • Added support for regular expression back references in the target name. If you are using back references, you must use a regular expression in the source name. The syntax is:
  • ren ::source ::target
  • See the help for details about back references.
  • SELECT
  • If you don't specify any arguments, SELECT will display the command dialog.
  • SENDHTML
  • If you don't specify any arguments, SENDHTML will display the command dialog.
  • SENDMAIL
  • If you don't specify any arguments, SENDMAIL will display the command dialog.
  • SET
  • /RO var=value - set a read-only variable. Once you've set the variable, you cannot change it (or unset it). Only environment variables can be read-only (not registry variables or array variables).
  • SETARRAY
  • /R filename arrayname - read a file into a (1-dimensional) array. (SETARRAY will determine the required size of the array.)
  • START
  • /Desktop=desktopname - specify the desktop where you want to start the application.
  • /TABNA - start a new Take Command tab window, but keep the current tab active.
  • SYNC
  • If you don't specify any arguments, SYNC will display the command dialog.
  • TAR
  • If you don't specify any arguments, TAR will display the command dialog.
  • TIMER
  • Accepts an optional command to run. This is the equivalent of "timer on & command & timer off". The syntax is:
  • timer command [args]
  • TOUCH
  • If you don't specify any arguments, TOUCH will display the command dialog.
  • UNTAR
  • If you don't specify any arguments, UNTAR will display the command dialog.
  • UNZIP
  • If you don't specify any arguments, UNZIP will display the command dialog.
  • ZIP
  • If you don't specify any arguments, ZIP will display the command dialog.
  • New Commands:
  • DEBUGMONITOR
  • Monitors the OutputDebugString API call from any process. The syntax is:
  • DEBUGMONITOR [/C]
  • DEBUGMONITOR n command
  • DEBUGMONITOR will set the environment variable "_outputdebugstring" to the string specified in the OutputDebugString call.
  • DESKTOP
  • Create a new desktop or switch to an existing desktop. The syntax is:
  • DESKTOP /C [/N] newdesktopname - create and optionally switch to a new desktop
  • DESKTOP desktopname - switch to an existing desktop
  • If you don't specify any arguments, DESKTOP will display the existing desktops.
  • RESOLUTION
  • Change the resolution (and optionally the color depth and refresh frequency) of the specified display. The syntax is:
  • RESOLUTION [displayname] width height [depth [frequency]]
  • If you don't specify any arguments, RESOLUTION will display the display devices and monitors.
  • TPIPE
  • Text filtering and substitution. You can specify multiple filters, which are processed in the order they appear on the command line. Do not insert any unquoted whitespace in the arguments to an option! Row and column positions start at 1.
  • The syntax is:
  • TPIPE [/input=filename] [/output=filename] [/filter=filename] [/unicode=input,output] [/save=filename] [/simple=n[u]] [/eol=input,output,length] [/line=start,increment,skipblank,dontnumberblank,format] [/insert=position,type,string] [/head=Exclude,LinesOrBytes,Count] [/tail=Exclude,LinesOrBytes,Count] [/number=type,value] [/string=type,string] [/file=type,filename] [/dup=RemoveDuplicateLines,IgnoreCase,StartColumn,Length,IncludeOne] [/comment=text] [/log=LogFileName] [/run=InputFileName,OutputFileName,"CommandLine"] [/merge=type,filename] [/split=type,SplitSize,SplitChar,SplitCharPos,SplitCharCount,SplitLines,SplitFilename ] [/grep=Type,IncludeLineNumbers,IncludeFilename,IgnoreCase,CountMatches,UTF8,PatternType,Pattern] [/replace=Type,MatchCase,WholeWord,CaseReplace,PromptOnReplace,Extract,FirstOnly,SkipPromptIdentical,Action,SearchStr,ReplaceStr] [/xml=Type,IncludeText,IncludeQuotes,MatchCase,BufferSize,Tag,Attribute,EndTag]
  • /input=filename
  • Filename to read. This can be either a disk file, include file (@filename), or CLIP:. If it is not specified, TPIPE will read from standard input.
  • /output=filename
  • Filename to write. This can be either a disk file or CLIP:. If it is not specified, TPIPE will write to standard output.
  • /merge=type,filename
  • Adds a merge type filter (merge into single output filename). The arguments are:
  • type:
  • 0 Merge into filename
  • 1 Retain lines found in filename
  • 2 Remove lines found in filename
  • 3 Link filter filename
  • filename - the filename to use
  • /filter=filename
  • Name of filter file to load (see /save=filename)
  • /save=filename
  • Saves the filter settings defined on the command line to the specified filename, and returns without executing any filters.
  • /unicode=input,output
  • Convert the file to or from Unicode. input is the encoding for the input file; output is the encoding for the output file. The possible values are:
  • UTF-16LE
  • UTF-16BE
  • UTF-32LE
  • UTF-32BE
  • UTF-8
  • ANSI
  • ASCII
  • CPnnn, where nnn is the Windows code page.
  • TPIPE handles files internally as UTF-8, so if you want to process a Windows UTF-16LE file, you'll need to convert it to UTF-8 first, then apply the desired filters, and convert it back to UTF-16LE.
  • /simple=n[u]
  • Adds a simple filter type. n is the type of filter to add, and for those filters that support it, u indicates that the filter will be dealing with Unicode data.
  • 1 Convert ASCII to EBCDIC
  • 2 Convert EBCDIC to ASCII
  • 3 Convert ANSI to OEM
  • 4 Convert OEM to ANSI
  • 5 Convert to UPPERCASE
  • 6 Convert to lowercase
  • 7 Convert to Title Case
  • 8 Convert to Sentence Case
  • 9 Convert to tOGGLE cASE
  • 10 Remove blank lines
  • 11 Remove blanks from End of Line
  • 12 Remove blanks from Start of Line
  • 13 Remove binary characters
  • 14 Remove ANSI codes
  • 15 Convert IBM drawing characters
  • 16 Remove HTML and SGML
  • 17 Remove backspaces
  • 18 Resolve backspaces
  • 19 Remove multiple whitespace
  • 20 UUEncode
  • 21 Hex Encode
  • 22 Hex Decode
  • 23 MIME Encode (Base 64)
  • 24 MIME Decode (Base 64)
  • 25 MIME Encode (Quoted printable)
  • 26 MIME Decode (Quoted printable)
  • 27 UUDecode
  • 28 Extract email addresses
  • 29 Unscramble (ROT13)
  • 30 Hex dump
  • 32 XXEncode
  • 33 XXDecode
  • 34 Reverse line order
  • 35 Remove email headers
  • 36 Decimal dump
  • 37 HTTP Encode
  • 38 HTTP Decode
  • 39 Randomize lines
  • 40 Create word list
  • 41 Reverse each line
  • 42 Convert to RanDOm case
  • 43 Extract URLs
  • 44 ANSI to Unicode
  • 45 Unicode to ANSI
  • 46 Display debug window
  • 47 Word concordance
  • 48 Delete all
  • 49 Restrict to each line in turn
  • 50 Convert CSV to Tab-delimited
  • 51 Convert CSV to XML' )
  • 52 Convert Tab-delimited to CSV
  • 53 Convert Tab-delimited to XML
  • 54 Convert CSV (with column headers) to XML
  • 55 Convert Tab-delimited (with column headers) to XML
  • 56 Convert CSV (with column headers) to Tab-delimited
  • 57 Convert Tab-delimited (with column headers) to CSV
  • 58 Restrict to file name
  • 59 Convert Word documents to text
  • 60 Swap UTF-16 word order
  • 61 Swap UTF-32 word order
  • 62 Remove BOM (Byte Order Mark)
  • 63 Make Big Endian
  • 64 Make Little Endian
  • 65 Compress to Packed Decimal
  • 66 Compress to Zoned Decimal
  • 67 Expand Binary Number to EBCDIC
  • 68 Expand Binary Number to ASCII
  • 69 NFC - Canonical Decomposition, followed by Canonical Composition
  • 70 NFD - Canonical Decomposition
  • 71 NFKD - Compatibility Decomposition
  • 72 NFKC - Compatibility Decomposition, followed by Canonical Composition
  • 73 Decompose
  • 74 Compose
  • 75 Convert numeric HTML Entities to text
  • 76 Convert PDF documents to text
  • 77 Restrict to ANSI files
  • 78 Restrict to Unicode UTF16 files
  • 79 Restrict to Unicode UTF32 files
  • 80 Convert Excel spreadsheets to text
  • /eol=input,output,length
  • Add an EOL (end of line) conversion filter. The arguments are:
  • input:
  • 0 - Unix (LF)
  • 1 - Mac (CR)
  • 2 - Windows (CR/LF)
  • 3 - Auto
  • 4 - Fixed (use the length parameter to specify the length)
  • output:
  • 0 - Unix
  • 1 - Mac
  • 2 - Windows
  • 3 - None
  • length - The line length to use if input=4
  • /line=StartNumber,Increment,SkipBlank,DontNumberBlank,NumberFormat
  • Adds a Line Number filter. The arguments are:
  • StartNumber - the starting line number
  • Increment - the amount to add for each new line number
  • SkipBlankIncrement - don't increase the line number for blank lines
  • DontNumberBlank - don't put a line number on blank lines
  • NumberFormat - The format to use for the line number. The format syntax is:
  • [-][width][.precision]d
  • An optional left justification indicator, ["-"]
  • An optional width specifier, [width] (an integer). If the width of the number is less than the width specifier, it will be padded with spaces.
  • An optional precision specifier [precision] (an integer). If the width of the number is less than the precision, it will be left padded with 0's.
  • The conversion type character:
  • d - decimal
  • /insert=position,type,string
  • Add an insert type filter. The arguments are:
  • type:
  • 0 - Insert column
  • 1 - Insert bytes
  • position - the position to insert the string
  • string - the string to insert
  • /head=Exclude,LinesOrBytes,Count
  • Add a head type filter (includes or excludes text at the beginning of the file). The arguments are:
  • Exclude - if 0, include the text; if 1, exclude it
  • LinesOrBytes - if 0, measure in lines; if 1, measure in bytes
  • Count - the number of lines or bytes to include or exclude
  • /tail=Exclude,LinesOrBytes,Count
  • Add a tail type filter (includes or excludes text at the end of the file). The arguments are:
  • Exclude - if 0, include the text; if 1, exclude it
  • LinesOrBytes - if 0, measure in lines; if 1, measure in bytes
  • Count - the number of lines or bytes to include or exclude
  • /dup=Type,IgnoreCase,StartColumn,Length,IncludeOne
  • Remove or show duplicate lines. The arguments are:
  • Type:
  • 0 - Remove duplicate lines
  • 1 - Show duplicate lines
  • IgnoreCase - if 1, ignore case during comparisons
  • StartColumn - The starting column for comparisons
  • Length - The Length of the comparison
  • IncludeOne - Include lines with a count of 1
  • /string=type,MatchCase,string
  • Add a string-type filter. The arguments are:
  • type:
  • 0 Add left margin
  • 1 Add header
  • 2 Add footer
  • 3 Add right margin
  • 4 Remove lines
  • 5 Retain lines
  • 6 Remove lines matching perl pattern
  • 7 Retain lines matching perl pattern
  • 8 Add text side by side
  • 9 Add repeating text side by side
  • 10 Not Used
  • 11 Not Used
  • 12 XSLT transform
  • 13 Restrict to lines from list
  • 14 Restrict to lines NOT in list
  • 15 Restrict to lines matching perl pattern
  • 16 Restrict to lines NOT matching perl pattern
  • matchCase - case sensitive or not (where appropriate)
  • string - the string to use
  • /file=type,MatchCase,filename
  • Add a file-type filter. The arguments are:
  • type:
  • 17 Restrict to filenames matching perl pattern
  • 18 Restrict to filenames NOT matching perl pattern
  • MatchCase - If 1, do a case sensitive match (where appropriate)
  • filename - the filename to use
  • /number=type,value
  • Add a number-type filter. The arguments are:
  • type:
  • 0 Convert Tabs to Spaces
  • 1 Convert Spaces to Tabs
  • 2 Word wrap (value column width)
  • 3 Pad to width of value
  • 4 Center in width of value
  • 5 Right justify in width of value
  • 6 Restrict CSV field to value
  • 7 Restrict tab-delimited field to value
  • 8 Truncate to width value
  • 9 Force to width value
  • 10 Repeat file value times
  • 11 Restrict to blocks of length
  • 12 Expand packed decimal (with implied decimals)
  • 13 Expand zoned decimal (with implied decimals)
  • 14 Expand unsigned (even-length) packed decimal
  • 15 Expand unsigned (odd-length) packed decimal
  • Value - the numeric value to use
  • /comment=text
  • Add a comment to a filter file.
  • Text - Comment to add
  • /log=Filename
  • Log the TPIPE actions.
  • Filename - Name of log file
  • /run=InputFileName,OutputFileName,"CommandLine"
  • Adds a Run External Program filter. The arguments are:
  • InputFilename - the filename that TextPipe should read from after the External Program writes to it.
  • OutputFilename - the filename that TextPipe should write to for the External Program to read in.
  • CommandLine - the command line of the program to run. Should include double quotes around the entire command line.
  • /split=type,SplitSize,SplitChar,SplitCharPos,SplitCharCount,SplitLines,SplitFilename
  • Adds a split type filter. The arguments are -
  • type:
  • 0 Split at a given size
  • 1 Split at a given character
  • 2 Split at a given number of lines
  • splitSize - the size file to split at
  • splitChar - the character to split at
  • splitCharPos -
  • 0 Split before the character (it goes into the next file)
  • 1 Split after the character (it remains in the first file)
  • 2 Split on top of the character (remove it)
  • SplitCharCount - the number of times to see SplitChar before splitting
  • SplitLines - (optional) split after a given number of lines, default 60
  • SplitFilename - (optional) the name to give to each output split file. /split will append a "%3.3d" format specifier to the name; i.e. an input file "foo.txt" will generate output files named "foo.txt.000", "foo.txt.001", etc. If you don't specify a SplitFilename, /split will use the input filename as the base.
  • /grep=Type,IncludeLineNumbers,IncludeFilename,IgnoreCase,CountMatches,PatternType,UTF8,IgnoreEmpty,Pattern
  • Adds a Grep type line based filter. The arguments are -
  • Type:
  • 0 Restrict lines matching
  • 1 Restrict lines NOT matching
  • 2 Extract matches
  • 3 Extract matching lines (grep)
  • 4 Extract non-matching lines (inverse grep)
  • 5 Remove matching lines
  • 6 Remove non-matching lines
  • IncludeLineNumbers - 1 to include the line number where the pattern was found
  • IncludeFilename - 1 to include the filename where the pattern was found
  • IgnoreCase - 1 to ignore case when matching the pattern
  • CountMatches - 1 to only output a count of the number of matches
  • PatternType
  • 0 Perl pattern
  • 1 Egrep pattern
  • 2 Brief pattern
  • 3 MS Word pattern
  • UTF8 - 1 to allow matching Unicode UTF8 characters
  • IgnoreEmpty - 1 to ignore empty matches
  • Pattern - the (regular expression) pattern to match
  • /replace=Type,MatchCase,WholeWord,CaseReplace,PromptOnReplace,Extract,FirstOnly,SkipPromptIdentical,Action,SearchStr,ReplaceStr
  • Adds a search and replace (find and replace) filter. The arguments are -
  • Type:
  • 0 Replace
  • 1 Pattern (old style)
  • 2 Sounds like
  • 3 Edit distance
  • 4 Perl pattern
  • 5 Brief pattern
  • 6 Word pattern
  • MatchCase - Matches case when set to 1, ignores case when set to 0
  • WholeWord - Matches whole words only when set to 1
  • CaseReplace - Replaces with matching case when set to 1
  • PromptOnReplace - Prompts before replacing when set to 1
  • Extract - If 1, all non-matching text is discarded
  • FirstOnly - If 1, only replace the first occurrence
  • SkipPromptIdentical - If 1, don't bother prompting if the replacement text is identical to the original.
  • Action - the action to perform when found -
  • 0 replace
  • 1 remove
  • 2 send to subfilter
  • 3 send non-matching to subfilter
  • 4 send subpattern 1 to subfilter etc
  • SearchStr - the string to search for
  • ReplaceStr - the string to replace it with
  • /xml=Type,IncludeText,IncludeQuotes,MatchCase,BufferSize,Tag,Attribute,EndTag
  • Adds an HTML/XML filter. The arguments are:
  • Type - the operation to perform:
  • 0 restrict to an element
  • 1 restrict to an attribute
  • 2 restrict to between tags
  • IncludeText - whether to include the find string in the restriction result (default false)
  • IncludeQuotes - whether to include surrounding quotes in the attribute result or not (default false)
  • MatchCase - match case exactly or not (default false)
  • BufferSize - the maximum expected size of the match (default 32768)
  • Tag - the element or start tag to find
  • Attribute - the attribute to find
  • EndTag - the endTag to find

New in Take Command 13.04.52 (Mar 13, 2012)

  • VIEW - The menus and dialogs are now available in English, French, Russian, and Spanish. The first time you run VIEW, it will set the language to the one defined in TCMD.INI. If you want to change it, you can select a language by starting VIEW, and selecting Tools / Preferences from the menu.
  • Updated all of the Internet libraries (ip*.dll).

New in Take Command 13.03.46 (Feb 25, 2012)

  • Updated all of the Internet libraries (ip*.dll).
  • Updated zip library.
  • Updated registration (licensing) library.
  • New installer version.
  • Added Google Translate to web help.
  • MKLINK - /D will now create a directory symlink even if the directory to link to does not exist (for CMD compatibility).

New in Take Command 13.02.35 (Dec 19, 2011)

  • The batch debugger editor and command input editor have been upgraded to a major new version.
  • Added the feedback tab to the web help pages.
  • BDEBUGGER - Added the Ctrl-F3, F3, and Shift-F3 keys (find next / find prev).

New in Take Command 13.01.33 (Dec 12, 2011)

  • The local help (tcmd.chm) has a number of new display options.
  • Take Command and TCC now have the option to use either the new Web Help or the local help (tcmd.chm). The web help has some additional features, including the ability to add comments to help topics.
  • The search algorithm for the popup windows has changed slightly. TCC will append a * to the search string unless the last character of the string is a wildcard (?, *, or ]), or if the search string is a regular expression (the first two characters of the string are ::).
  • MKLINK - The /X option no longer requires two arguments.
  • Take Command/LE has been discontinued. Existing Take Command/LE customers have been sent a free update to the full Take Command version.
  • .INI Directives:
  • WebHelp=yes|NO - New TCMD.INI directive (set in the Take Command and the TCC configuration dialogs). If set,
  • Take Command and TCC will use the web help at http://jpsoft.com/help/ instead of the local help.

New in Take Command 13.00.21 (Sep 13, 2011)

  • Take Command/LE and TCC/LE are now available in 32-bit and 64-bit versions.
  • Take Command now supports installation and registration on removable (for example, USB) drives. At startup, Take Command will determine whether it is running on a removable drive; if so it will read / write its registration info to a key file in the Take Command installation directory. For example, this allows you to move your registered copy of Take Command among different machines by installing it to a USB thumb drive.
  • Removed the (non-Windows) limits on filename and argument size. The maximum filename size (dictated by Windows) and single argument size is now 32,767 characters.
  • The maximum (input) command line is now 65,535 characters.
  • The maximum expanded command line size is now 131,072 characters.
  • Fuzzy directory (jpstree.idx) updates (in MD, RD, DEL /S/X, etc.) are twice as fast as v12.
  • The Take Command (and Take Command/LE) toolbar has a new button "V" that will call the new file viewer VIEW (see below).
  • All of the popup windows (history lists, filename completion, @select, etc) have an edit control on the toolbar. Entering a search string there (or just typing while the popup window has focus) will eliminate non-matching entries from the window.
  • All paging options (/P) in TCC now accept an "All" key to turn off paging. (This will vary by language, and is shown in the prompt.)
  • TCC now sets the default regular expression syntax (according to the value set in TCMD.INI) at startup and after saving new values in OPTION. (This is only of interest to plugin authors.)
  • The persistent directory history file is now only loaded if either local directory history is set, or TCC thinks it is the first instance. But since there's no such thing as "shell levels" in Windows, TCC can only guess (based on the TCMD.INI inheritance).
  • If the DirHistoryOnEntry .INI directive is set, TCC will save its startup directory to the directory history.
  • A Ctrl-Enter in the Command Input window will execute the current line and move the cursor down to the next line (without inserting a line).
  • Take Command now saves toolbar changes done through the add tab or create/edit button dialogs (previously it required you to right click in the toolbar & select "Save to .INI").
  • Help file updates.

New in Take Command 12.00.35 (Nov 7, 2010)

  • Over 300 new features, including directory wildcards, DO loops in aliases, more integrated archiving commands and functions (GZIP, TAR, ZIPSFX), faster loading and execution, and many new batch debugger features.

New in Take Command 12.00.32 (Oct 28, 2010)

  • Rewritten IDE for writing and debugging batch scripts - full of useability enhancements
  • New commands for file compression (GZIP, TAR, UNGZIP, UNTAR, ZIPSFX)
  • DO loops at the command line and in aliases
  • Use wildcards in directory names
  • Upgraded internal Perl support for versions 5.8, 5.10, and 5.12
  • Upgraded internal Python support for versions 3.1, 2.6 and 2.5
  • Many new Take Command UI customization options
  • >100 new or upgraded commands, functions and variables
  • Upgrade from any previous version of 4NT or Take Command

New in Take Command 11.00.30 (Oct 26, 2009)

  • added over 200 new features, commands, switches, variables, and other enhancements!
  • The complete list of new features is in the "What's New" topic in the help file.

New in Take Command 10.00.48 (Feb 5, 2009)

  • Take Command and TCC startup is faster.
  • Most operations in Take Command and TCC are faster.
  • The quick help displayed on the TCMD status bar will now also identify aliases and display their value.
  • Holding down the Ctrl key while scrolling the mouse wheel will now change the font size in the Take Command tab windows. Note that not all apps will be happy about you randomly changing their font (and thus the console window size)!
  • Increased the maximum number of TCMD startup tabs from 10 to 20.
  • You can now drag files from the desktop to the List View window.
  • Added an option to set the popup window font for Take Command and TCC (Windows page of their configuration dialogs).
  • Added support for specifying attributes (/A:...) and ranges in the TCMD Filter combobox. (The syntax is the same as in TCC.) The attribute and range switches must come before the filename wildcards (or regular expressions).
  • The TCMD filter combobox now saves its entries (up to 10) and restores them when TCMD restarts.
  • When starting a tab, if the filename is "TCC.EXE" or "TCC" and there is no path specified and TCMD cannot find the filename in the path, it will default to running TCC.EXE in the TCMD installation directory.
  • The "Up" button on the Take Command toolbar will now take you to "Computer" (or "My Computer" in XP) if you're already at the root directory of a drive.
  • The Take Command "Find Files" dialog "Edit" button will now try to open the file with its associated app. If that fails, Take Command will use Notepad.
  • Added support for array variables. See SETARRAY / UNSETARRAY, SET and @EXECARRAY for details.
  • Added internal support for Python (.py). You must enable Python in the OPTION / Startup dialog.
  • Added an "in-process" pipe. This works like the old DOS pipes, by creating a temporary output file, redirecting STDOUT to that file, and then redirecting the temp file to STDIN of the following command.
  • Added "here-string" input redirection to send a string to the program's standard input. The syntax is:
  • cmd

New in Take Command 9.02 Build 152 (Sep 12, 2008)

  • Added an optional "Command Input" docking window. This window sends commands to the active tab window. It will eventually have (nearly) all of the actions available at the TCC command line, which will then be usable by *any* app, not just TCC. (This is not limited to entering something at the command prompt; you can feed strings anywhere a console app is expecting input.) You can scroll up to previous lines, edit, and reexecute them. You also have tab completion, full undo/redo (up to 31 levels), drag & drop, mouse or keyboard selection, and argument substitution.
  • Added filename completion .INI options to the TCMD "Windows" configuration tab. (These options control filename completion in the "Command Input" window.)
  • Because of confusion over the TCMD current directory when "Start Folder" is not set (notably with filename completion in the Command Input window), TCMD now changes the folder & list view at startup to the current directory of the TCMD process. If you want it to appear somewhere else (for example, in Vista the previous default was "c:usersusername") you'll need to set it either in "Start Folder" or the shortcut properties.
  • TCC will display quick help for its internal commands in the help area of the TCMD status bar when you enter a command name and a trailing space on the TCC command line or in the "Command Input" window. You can move the mouse over the status bar to get the full usage help.
  • The tab toolbar will now wrap to a second line if the buttons won't fit on one line.
  • Added Visual Studio 2008 style to Themes.
  • You can right-click on the status bar to enable/disable individual fields. (The corresponding fields have been removed from the "Configure Take Command / Windows" dialog.)
  • Added tooltips to the status bar panes.
  • The transparency slider on the status bar has been enhanced to make fine adjustments easier.
  • Various minor bug fixes and performance enhancements.
  • Help file updates.

New in Take Command 8.01 (Nov 7, 2006)

  • Over 200 new features, including Active Scripting support, plugin and batch debugger enhancements, WMI support, regular expressions in filenames, and more than 20 new internal variables and variable functions, and Windows Vista support

New in Take Command 8.0 (Sep 12, 2006)

  • Over 200 new features, including Active Scripting support, plugin and batch debugger enhancements, WMI support, regular expressions in filenames, and more than 20 new internal variables and variable functions.

New in Take Command 7.01.370 (Jul 26, 2006)

  • Over 300 new features, including a batch debugger enhancements, nine new internal commands, and more than 50 new internal variables, and variable function.