CaseFix plugin for Take Command / TCC / TCC/LE

beta version     2023-10-12

Charles Dye


This plugin replaces TCC’s internal @CAPS, @LOWER, and @UPPER functions with new versions that handle Unicode characters, including accented Latin letters and Cyrillic letters.

These functions call CharUpper() and CharLower().


To use this plugin, copy CaseFix.dll to some known location on your hard drive. (If you are still using the 32-bit version of Take Command, take CaseFix-x86.dll instead of CaseFix.dll.) Load the .DLL file with a PLUGIN /L command, for example:

plugin /l c:\bin\tcmd\test\casefix.dll

If you copy this file to a subdirectory named PlugIns within your Take Command program directory, it will be loaded automatically when TCC starts.

Plugin Features:

New Functions:

Syntax Note:

The syntax definitions in the following text use these conventions for clarity:

BOLD CODEindicates text which must be typed exactly as shown.
CODEindicates optional text, which may be typed as shown or omitted.
Bold italicnames a required argument; a value must be supplied.
Regular italicnames an optional argument.
ellipsis…after an argument means that more than one may be given.

New Functions:

@CAPS — Returns its input text with the first letter of each word capitalized.


texttext to be capitalized
sepoptional list of word separator characters

The list of separator characters is optional. If given, it must be in double quotes. If it is not specified, the default is to treat all whitespace characters as word separators. If the list is empty, @CAPS will capitalize only the first letter of the text.

echo %@caps[cet étudiant vit à Paris.]

@LOWER — Returns its input text in lowercase.


texttext to be lowercased


@UPPER — Returns its input text in uppercase.


texttext to be uppercased

echo %@upper[Les élèves français apprennent où placer les caractères accentués.]

Startup Message:

This plugin displays an informational line when it initializes. The message will be suppressed in transient or pipe shells. You can disable it for all shells by defining an environment variable named NOLOADMSG, for example:

set /e /u noloadmsg=1

Status and Licensing:

Consider this beta software. It may well have issues. Try it at your own risk. If you find a problem, you can report it in the JP Software support forum.

CaseFix is currently licensed only for testing purposes. I may make binaries and source code available under some free license once I consider it ready for use.


You can download the current version of the plugin from