Icon The Kermit Project   |   Now hosted by Panix.com
New York City USA   •   kermit@kermitproject.org
since 1981
Áëıøù        

C-Kermit 10.0 Command Reference

Frank da Cruz
19 October 2022
Last update: Thu Feb 29 13:15:32 2024
Length if printed: About 7000 lines or 130 pages.
This is not a tutorial or a getting-started or a how-to; it is a description of every single command in C-Kermit 10.0, about 900 of them. For a tutorial, please visit the new C-Kermit 10.0 tutorial, or the online version of the book Using C-Kermit. Other references include:

CONTENTS

Initialization file

When C-Kermit starts, it executes the commands from your initialization file (if you have one):
Platform Filename Location
Unix (Linux, BSD, macOS, etc) .kermrc Your home (login) directory
MS Windows k95custom.ini \v(appdata) (your application data directory)
IBM OS/2 k2custom.ini \v(appdata) (your application data directory)
VMS, OpenVMS ckermit.ini Your home (login) directory
Other ckermit.ini Your home (login) directory
These files normally contain SET commands to customize the behavior of commands you commonly use like SEND, DIRECTORY, DELETE, etc (see an example), as well as macro definitions.

Top-level interactive commands

Listed in alphabetical order...
[A] [B] [C] [D] [E] [F] [G] [H] [ I ] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z]
Notation:
ADD
Adds elements to the specified list: SEND-LIST, BINARY-PATTERNS, or TEXT-PATTERNS:
ADD SEND-LIST filespec [ mode [ asname ] ]
Adds the specified file or files to the current SEND list; mode is TEXT or BINARY; asname is a different name to send the file with; it should include variables or else all the file will be sent with same name. Use SHOW SEND-LIST and CLEAR SEND-LIST to display and clear the list; use SEND by itself to send the files from it.
The next two are leftovers from before C-Kermit was capable of automatic per-file text-binary mode selection by inspecting each file before sending it. The pattern refer to the files' names, not their context.
ADD BINARY-PATTERNS [ pattern [ pattern ... ] ]
Adds the pattern(s), if any, to the SET FILE BINARY-PATTERNS list.
ADD TEXT-PATTERNS [ pattern [ pattern ... ] ]
Adds the pattern(s), if any, to the SET FILE TEXT-PATTERNS list. Use SHOW PATTERNS to see the lists. See HELP SET FILE for further info.
CLICK HERE for an explanation of string matching patterns, and type SHOW PATTERNS to see what the text/binary filenames look like.
ANSWER
Syntax: ANSWER [ seconds ]
Wait for a modem call to come in. Prior SET MODEM TYPE and SET LINE required. If seconds is 0 or not specified, Kermit waits forever or until interrupted, otherwise Kermit waits the given number of seconds. The ANSWER command puts the modem in autoanswer mode. Subsequent DIAL commands will automatically put it (back) in originate mode. SHOW MODEM, HELP SET MODEM for more info.
APC
Syntax: APC text
Echoes the text within a VT220/320/420 Application Program Command.
ARRAY
Syntax: ARRAY verb operands

Declares arrays and performs various operations on them. Array references have the following syntax:

\&a[n]
where "a" is a letter and n is a number or a variable with a numeric value or an arithmetic expression. The value of an array element can be anything at all -- a number, a character, a string, a filename, etc.

More about arrays HERE. The following ARRAY verbs are available:

[ ARRAY ] DECLARE arrayname[n] [ = initializers ]
Synonym: [ ARRAY ] DCL
Examples:
array declare \&a[20]
declare \&a[20]
declare \&f[20] = 0 1 1 2 3 5 8 13 21 34 55 89 144
dcl &w[] = each word is an array element
dcl p[] = {each word} {pair is} {an element}

Declares an array of the given size, n. The '\' and '&' in the array name are optional in the declaration and are supplied automtically if omitted. The resulting array has n+1 elements, 0 through n. Array elements can be used just like any other variables. Initial values can be given for elements 1, 2, ... by including = followed by one or more values separated by spaces. If you omit the size, the array is sized according to the number of initializers; if none are given the array is destroyed and undeclared if it already existed. The ARRAY keyword is optional. Various built-in functions are available for array operations; see HELP FUNCTION for details. These include \fdimension(), \farraylook(), \ffiles(), \fsplit(), and many more.

An array can have only one dimension but two-dimensional or, in fact, any-dimensional arrays can be constructed as shown HERE (briefly, you can define macros whose names look like two-dimensional array references:

_assign a[\%r][\%i] desired-value
[ ARRAY ] UNDECLARE arrayname
Destroys and undeclares the given array. Synonym: ARRAY DESTROY.
ARRAY SHOW [ arrayname ]
Displays the contents of the given array. A range specifier can be included to display a segment of the array, e.g. "array show \&a[1:24]." If the arrayname is omitted, all declared arrays are listed, but their contents are not shown. Synonym: SHOW ARRAY.
ARRAY CLEAR arrayname
Clears all elements of the array, i.e. sets them to empty values. You may include a range specifier to clear a segment of the array rather than the whole array, e.g.:
array clear \%a[22:38]
ARRAY SET arrayname value
Sets all elements of the array to the given value, e.g.:
array set \%a 0
You may specify a range to set a segment of the array, e.g.:
array set \%a[2:9] 0
ARRAY RESIZE arrayname number
Changes the size of the given array, which must already exist, to the number given. If the number is smaller than the current size, the extra elements are discarded; if it is larger, new empty elements are added.
ARRAY COPY array1 array2
Copies array1 to array2. If array2 has not been declared, it is created automatically. If it array2 does exist, array1 is copied INTO it, as much as will fit. Range specifiers may be given on one or both arrays.
ARRAY LINK array1 array2
Makes array1 a link to array2.
[ ARRAY ] SORT [ switches ] arrayname [ array2 ]
Sorts the given array lexically according to the switches. Element 0 of the array is excluded from sorting by default. The ARRAY keyword is optional. If a second array name is given, that array is sorted according to the first one. Switches:
/CASE:{ ON,OFF }
If ON, alphabetic case matters; if OFF it is ignored. If this switch is omitted, the current SET CASE setting applies.
/KEY:number
Position (1-based column number) at which comparisons begin, 1 by default.
/NUMERIC
Specifies a numeric rather than lexical sort.
/RANGE:low[:high]
The range of elements, low through high, to be sorted. If this switch is not given, elements 1 through the dimensioned size are sorted. If :high is omitted, the dimensioned size is used. To include element 0 in a sort, use /RANGE:0 (to sort the whole array) or /RANGE:0:n (to sort elements 0 through n). You can use a range specifier in the array name instead of the /RANGE switch.
/REVERSE
Sort in reverse (descending) order. If this switch is not given, the array is sorted in ascending order.
ASK
Syntax: ASK [ switches ] variablename [ prompt ]
Example:
 ASK \%n { What is your name\? }
Issues the prompt and defines the variable to be whatever is typed in response, up to the terminating carriage return. Use braces to preserve leading and/or trailing spaces in the prompt. Quote '?' with backslash to prevent it from issuing a context-sensitive help message. Switches:
/DEFAULT:text
Text to supply if the user enters a blank response or the /TIMEOUT limit expired with no response.
/TIMEOUT:number
If the response is not entered within the given number of seconds, the command fails. This is equivalent to setting ASK-TIMER to a positive number, except it applies only to this command. Also see SET ASK-TIMER. NOTE: If a /DEFAULT: value was also given, it is supplied automatically upon timeout and the command does NOT fail.
/QUIET
Suppresses "?Timed out" message when /TIMEOUT is given and user doesn't respond within the time limit.
ASKQ
Syntax: ASKQ [ switches ] variablename [ prompt ]
Example: ASKQ \%p { Password:} "Ask Quietly"; like ASK except the response does not echo on the screen or, if specified it echoes as asterisks or other specified character. Switches: the same as ASK plus:
/ECHO:char
(ASKQ only) Character to be echoed each time the user presses a key corresponding to a printable character. This lets users see what they are doing when they are typing (e.g.) passwords, and makes editing easier.
ASSIGN
Syntax: ASSIGN variablename string

Synonym: ASG Example:
 ASSIGN \%a My name is \%b.
Assigns the current value of the string to the variable (or macro). The definition string is fully evaluated before it is assigned, so that the values of any variables that are contained are used, rather than their names. Compare with DEFINE. To illustrate the difference, try this:
DEFINE \%a hello
DEFINE \%x \%a
ASSIGN \%y \%a
DEFINE \%a goodbye
ECHO \%x \%y
This prints 'goodbye hello'.
_ASSIGN
Syntax: _ASSIGN variablename string

Synonym: _ASG

Like ASSIGN, but the name of the variable is evaluated before making the assignment, whereas ASSIGN takes it literally.

ASSOCIATE
Syntax: ASSOCIATE charset-type charset-name
Example: ASSOCIATE FILE-CHARACTER-SET iso-8859-1 utf-8
Sets up automatic switching of file or transfer character sets during text-file transfer.
ASSOCIATE FILE-CHARACTER-SET file-character-set xfer-character-set
Tells C-Kermit that whenever the given file-character set is selected, and SEND CHARACTER-SET (q.v.) is AUTOMATIC, the given transfer (xfer) character-set is selected automatically.
ASSOCIATE XFER-CHARACTER-SET xfer-character-set file-character-set
Tells C-Kermit that whenever the given transfer-character set is selected, either by command or by an announcer attached to an incoming text file, and SEND CHARACTER-SET is AUTOMATIC, the specified file character-set is to be selected automatically. Synonym: ASSOCIATE TRANSFER-CHARACTER-SET.
Use SHOW ASSOCIATIONS to list the current character-set associations, and SHOW CHARACTER-SETS to list the current settings. When you type '?' for either of the character-set names, you get a list of possible choices.
BACK
Syntax: BACK
Returns to your previous directory (after CD). Currently this works only for one level of directory changing. So if you CD from x to y, BACK takes you back to x, and another BACK takes you to y again, etc.
BROWSE
Syntax: BROWSE [ url ]
Unix example:
set browser lynx
browse https://kermitproject.org
Starts your preferred Web browser (specified in your most recent SET BROWSER command) on the given URL, or if none given, the most recently visited URL, if any.
BYE
Syntax: BYE
For use when C-Kermit is connected to a remote computer running a Kermit server: shuts down and logs out the remote Kermit server.
CD
Syntax: CD [ directory name ]
If LOCUS is REMOTE or LOCUS is AUTO and you have an FTP connection, this command is equivalent to REMOTE CD (RCD). Otherwise:

Change Directory. Changes your current, working, default directory to the one given, so that future non-absolute filename references are relative to this directory. If the directory name is omitted from this command, your home (login) directory is supplied. C-Kermit's default prompt shows your current directory.

Synonyms: LCD, CWD. Also see:
SET LOCUS, PWD, CDUP, BACK, REMOTE CD (RCD), SET CD, SET PROMPT.
And see: HELP KCD. Relevant environment variables: CDPATH, HOME.

CHANGE
Syntax: CHANGE [ switches ] filespec string1 string2

Changes all occurrences of string1 to string2 in the given file or files. Works line by line, does not do multiline or across-line substitutions. To remove strings from files, specify string2 as "" or omit string2. Temporary files are created in the directory indicated by \v(tmpdir) (show var tmpdir). You can select a different temporary directory with the SET TEMP-DIRECTORY command. All temporary files are deleted after use.

string1 and string2 should be enclosed in "doublequotes" or {braces} if if they contain spaces. In the event that they already contain braces or doublequotes, especially if these are not balanced, some \-quoting may be required. Or you can assign the strings to variables and then use the variable names in the CHANGE command; example:

.a = {value="./
.b = {value="../
change *.html \m(a) \m(b)
Since the CHANGE command works line by line, only text files can be changed; C-Kermit automatically skips over binary files.

File selection switches (factory defaults are marked with +)
/AFTER:Select files modified after the given date
/BEFORE:Select files modified before the given date
/LARGER:Select files larger than the given size in bytes
/SMALLER: Select files smaller than the given size in bytes
/EXCEPT: Exclude the given files (list or pattern)
/DOTFILES Include files whose names start with dot (period).
/NODOTFILES + Don't include files whose names start with dot.
/RECURSIVE Descend through subdirectories.
/NORECURSIVE+ Don't descend through subdirectories.

File disposition switches
/BACKUP:name Back up original files to named directory.
/DESTINATION:name Store resulting changed files in named directory.

If neither of these options is given, original files are overwritten.

String selection switch
/CASE:{ ON,OFF } OFF (default) = ignore case in string1; ON = don't ignore

Action switches
/COUNT:name Set named variable to number of files that were changed.
/SIMULATE List files that would be changed, but don't change them.
/LIST Show which files are being changed.
/MODTIME: Modification time for change files, PRESERVE or UPDATE.
You can use the /SIMULATE switch in combination with other switches to see which files will be affected without actually changing them.
CHECK
Syntax: CHECK name
Checks to see if the named feature is included in this version of C-Kermit. Example: "check ssh".
To list the features you can check, type "check ?".
CHMOD
Syntax: CHMOD [ switches ] code filespec
UNIX only. Changes permissions of the given file(s) to the given code, which must be an octal number such as 664 or 775. Optional switches:

/FILES Only change permissions of regular files.
/DIRECTORIES Only change permissions of directory files.
/TYPE:BINARY Only change permissions of binary files.
/TYPE:TEXT Only change permissions of text files.
/DOTFILES Include files whose names begin with dot (.).
/RECURSIVE Change permissions in subdirectories too.
/LIST List each file (synonym: /VERBOSE).
/NOLIST Operate silently (synonym: /QUIET).
/PAGE When listing, pause at end of each screen (implies /LIST).
/NOPAGE When listing, don't pause at end of each screen.
/SIMULATE Show what would be done but don't actually do it.
CLEAR
Syntax: CLEAR [ itemname ]

Clears the named item. If no item is named, DEVICE-AND-INPUT is assumed.

ALARM Clears any pending alarm (see SET ALARM).
APC-STATUS Clears Application Program Command status.
BINARY-PATTERNS Clears the file binary-patterns list.
DEVICE Clears the current port or network input buffer.
DEVICE-AND-INPUT Clears both the device and the INPUT buffer.
DIAL-STATUS Clears the \v(dialstatus) variable.
INPUT Clears the INPUT-command buffer and the \v(input) variable.
KEYBOARD-BUFFER Clears the command terminal keyboard input buffer.
SEND-LIST Clears the current SEND list (see ADD).
TEXT-PATTERNS Clears the file text-patterns list.
CLOSE
Syntax: CLOSE [ item ]
Closes the indicated item. The default item is CONNECTION, which is the current SET LINE or SET HOST connection. The other items are:

CX-LOG (connection log, opened with LOG CX)
SESSION-LOG (opened with LOG SESSION)
TRANSACTION-LOG (opened with LOG TRANSACTIONS)
PACKET-LOG (opened with LOG PACKETS)
DEBUG-LOG (opened with LOG DEBUG)
READ-FILE (opened with OPEN READ)
WRITE-FILE (opened with OPEN WRITE or OPEN APPEND)

Type HELP LOG and HELP OPEN for further info.

CONNECT
Syntax: CONNECT (or C, or CQ) [ switches ]
Connects to a remote computer via the serial communications device given in the most recent SET LINE command, or to the network host named in the most recent SET HOST or equivalent command such as SSH or Telnet. Type the escape character followed by C to get back to the C-Kermit prompt, or followed by ? for a list of CONNECT-mode escape commands.

Include the /QUIETLY switch to suppress the informational message that tells you how to escape back, etc. CQ is a synonym for CONNECT /QUIETLY.

Other switches include:

/TRIGGER:string
One or more strings to look for that will cause automatic return to command mode. To specify one string, just put it right after the colon, e.g. "/TRIGGER:Goodbye". If the string contains any spaces, you must enclose it in braces, e.g. "/TRIGGER:{READY TO SEND...}". To specify more than one trigger, use the following format:
/TRIGGER:{{string1}{string2}...{stringn}}
Upon return from CONNECT mode, the variable \v(trigger) is set to the trigger string, if any, that was actually encountered. The trigger value, like all other CONNECT switches, applies only to the CONNECT command with which it is given, and overrides (temporarily) any global SET TERMINAL TRIGGER string that might be in effect.
When you give a CONNECT command, you'll also get a message like:
Your escape character is Ctrl-\ (ASCII 28, FS)"
which tells you how to return to the C-Kermit prompt.
CONVERT
Syntax: CONVERT file1 cs1 cs2 [ file2 ]
Synonyms: TRANSLATE, XLATE

Converts file1 from the character set cs1 into the character set cs2 and stores the result in file2. The character sets can be any of C-Kermit's file character sets; to see a list type "set file character-set ?" at the C-Kermit> prompt. If file2 is omitted, the translation is displayed on the screen. An appropriate intermediate character-set is chosen automatically, if necessary. Example:

CONVERT lasagna.txt latin1 utf8 lasagna-utf8.txt
Multiple files can be translated if file2 is a directory or device name, rather than a filename, or displayed on the screen if file2 is omitted. TRANSLATE was the original name of this command but it implies that the language is being translated; CONVERT is new to C-Kermit 10.0 but of course TRANSLATE still works.
COPY
Syntax: COPY [ switches ] file1 [ file2 ]
Copies the source file (file1) to the destination file (file2). If file2 is a directory, file1 can contain wildcards to denote a group of files to be copied to the given directory. Switches:
/TOSCREEN
Displays the file on the screen rather than copying to another file. In this case the file2 parameter is omitted.
/LIST
Print the filenames and status while copying. Synonyms: /LOG, /VERBOSE.
/NOLIST
Copy silently (default). Synonyms: /NOLOG, /QUIET.
/PRESERVE
Copy timestamp and permissions from source file to destination file.
/OVERWRITE:{ALWAYS,NEVER,NEWER,OLDER}
When copying from one directory to another, this tells what to do when the destination file already exists: overwrite it always; never; only if the source file is newer; or only if the source file is older.
/APPEND
Append the source file to the destination file. In this case the source file specification can contain wildcards, and all the matching source files are appended, one after the other in alphabetical order by name, to the destination file.
/SWAP-BYTES
Swap bytes while copying (e.g. for converting between Big-Endian and Little-Endian binary data formats).
/FROMB64
Convert from Base64 encoding while copying.
/TOB64
Convert to Base64 encoding while copying.
/INTERPRET
If the file contains Kermit backslash escapes like \v(date), \v(time), \%1, \%2, \m(fast), etc, they are interpreted in the new copy of the file or in the screen version, if used in combination with /TOSCREEN. This option is not compatible most of the other options.
DATE
Syntax: DATE [ date-time [ timezone ] ]   [ delta-time ]
Prints the current or given date-time in standard format: yyyymmdd_hh:mm:ss.
Various date-time formats are accepted:

  • The date, if given, must precede the time.
  • The year must be four digits or else a 2-digit format dd mmm yy, in which case:
    if (yy < 50) yyyy = yy + 2000; else yyyy = yy + 1900.
  • If the year comes first, the second field is the month.
  • The day, month, and year may be separated by spaces, /, -, or underscore.
  • The date and time may be separated by spaces or underscore.
  • The month may be numeric (1 = January) or spelled out or abbreviated in English.
  • The time may be in 24-hour format or 12-hour format.
  • If the hour is 12 or less, AM is assumed unless AM or PM is included.
  • If the date is omitted but a time is given, the current date is supplied.
  • If the time is given but date omitted, 00:00:00 is supplied.
  • If both the date and time are omitted, the current date and time are supplied.

The following shortcuts can also be used in place of dates:

NOW
Stands for the current date and time.
TODAY
Today's date, optionally followed by a time; 00:00:00 if no time given.
YESTERDAY
Yesterday's date, optionally followed by a time (default 00:00:00).
TOMORROW
Tomorrows's date, optionally followed by a time (default 00:00:00).

Timezone specifications are similar to those used in e-mail and HTTP headers, either a USA timezone name, e.g. EST, or a signed four-digit timezone offset, {+,-}hhmm, e.g., -0500; it is used to convert date-time, a local time in that timezone, to GMT which is then converted to the local time at the host. If no timezone is given, the date-time is local. To convert local time (or a time in a specified timezone) to UTC (GMT), use the function \futcdate().

Delta times are given as:

{+,-}[number date-units][hh[:mm[:ss]]]
A date in the future/past relative to the date-time; date-units may be DAYS, WEEKS, MONTHS, YEARS: +3days, -7weeks, +3:00, +1month 8:00.

All the formats shown above are acceptable as arguments to date-time switches for such as /AFTER: or /BEFORE: in commands like SEND and DIRECTORY, and to functions such as \fcvtdate(), \fdiffdate(), and \futcdate(), that take date-time strings as arguments.

DECREMENT
Syntax: DECREMENT variablename [ amount ]

Decrement (subtract one from) the value of a variable if the current value is numeric. If an optional amount is specified (as a number, a variable, or an arithmetic expression that evaluates to a number, or any combination) the variable is decremented by that number instead of 1. The result is always an integer. If floating-point numbers are given, the result is truncated.

Examples: DECR \%a, DECR days 7, DECR x \%n, DECR sum \%x+12

DEFINE
Syntax: DEFINE name [ definition ]
Defines a macro or variable. Its value is the definition, taken literally. No expansion or evaluation of the definition is done. Thus if the definition includes any variable or function references, their names are included, rather than their values (compare with ASSIGN). If the definition is omitted, then the named variable or macro is undefined.

A one-line macro definition looks like this:

DEFINE name command, command, command, ...
for example:
DEFINE vax set parity even, set duplex full, set flow xon/xoff
which defines a Kermit command macro called 'vax'. The definition is a comma-separated list of Kermit commands.

A multiline macro definition looks like this:

DEFINE average {               # Define a macro called "average"
    .sum = 0                   # Initialize the sum
    for i 1 \v(argc) 1 {       # Loop through all the arguments
        increment sum \&_[i]   # Add each one to the sum
    }
    .avg := \fsexp(/ sum i)    # Divide by number of arguments
    echo Average = \m(avg)     # Show the result
}
Use the DO command to execute the macro, or just type its name, followed optionally by arguments, for example:
C-Kermit>average 1 2 3 4
Average = 1.833333333333333
C-Kermit>

The definition of a variable can be anything at all, for example:

DEFINE \%a Monday
DEFINE \%b 3
DEFINE year 2022 ("twenty twenty-two")
These variables can be used almost anywhere, for example:
ECHO Today is \%a
SET BLOCK-CHECK \%b
ECHO This year is \m(year)
Shortcuts:
.\%a = hello \%a is set to the value "hello"
.\%b = \%a goodbye \%b is set to "\%a goodbye"
.\%c := \%a goodbye \%c is set to "hello goodbye"
.\%d ::= ( \%x + \%y ) / \%z \%c is set to the value of the arithmetic expression 

_DEFINE
Syntax: _DEFINE variablename string

Like DEFINE, but the name of the variable is evaluated before making the assignment, whereas DEFINE takes it literally. Example:

define n size
_define \m(n) 50
echo \m(size)
50
More about this topic HERE.
DELETE
Syntax: DELETE [ switches ] filespec
If LOCUS is REMOTE or LOCUS is AUTO and you have an FTP connection, this command is equivalent to REMOTE DELETE (RDELETE). Otherwise:
Deletes a file or files on the computer where C-Kermit is running. The filespec may denote a single file or can include wildcard characters to match multiple files. RM is a synonym for DELETE. Switches include:
/AFTER:date-time
Specifies that only those files modified after the given date-time are to be deleted. HELP DATE for info about date-time formats.
/BEFORE:date-time
Specifies that only those files modified before the given date-time are to be deleted.
/NOT-AFTER:date-time
Specifies that only those files modified at or before the given date-time are to be deleted.
/NOT-BEFORE:date-time
Specifies that only those files modified at or after the given date-time are to be deleted.
/LARGER-THAN:number
Specifies that only those files longer than the given number of bytes are to be deleted.
/SMALLER-THAN:number
Specifies that only those files smaller than the given number of bytes are to be sent.
/EXCEPT:pattern
Specifies that any files whose names match the pattern, which can be a regular filename or may contain wildcards, are not to be deleted. To specify multiple patterns (up to 8), use outer braces around the group and inner braces around each pattern:
/EXCEPT:{{pattern1}{pattern2}...}
/DOTFILES
Include (delete) files whose names begin with ".".
/NODOTFILES
Skip (don't delete) files whose names begin with ".".
/TYPE:TEXT
Delete only regular text files (requires FILE SCAN ON)
/TYPE:BINARY
Delete only regular binary files (requires FILE SCAN ON)
/DIRECTORIES
Include directories. If this switch is not given, only regular files are deleted. If it is given, Kermit attempts to delete any directories that match the given file specification, which succeeds only if the directory is empty.
/RECURSIVE
The DELETE command applies to the entire directory tree rooted in the current or specified directory. When the /DIRECTORIES switch is also given, Kermit deletes all the (matching) files in each directory before attempting to delete the directory itself. /ALL This is a shortcut for /RECURSIVE /DIRECTORIES /DOTFILES.
/LIST
List each file and tell whether it was deleted. Synonyms: /LOG, /VERBOSE. /NOLIST Don't list files while deleting. Synonyms: /NOLOG, /QUIET.
/HEADING
Print heading and summary information. /NOHEADING Don't print heading and summary information.
/SUMMARY
Like /HEADING /NOLIST, but only prints the summary line. /PAGE If listing, pause after each screenful.
/NOPAGE
Don't pause after each screenful.
/ASK
Interactively ask permission to delete each file. Reply Yes or OK to delete it, No not to delete it, Quit to cancel the DELETE command, and Go to go ahead and delete all the rest of the files without asking.
/NOASK
Delete files without asking permission.
/SIMULATE
Preview files selected for deletion without actually deleting them. Implies /LIST.

Use SET OPTIONS DELETE to make selected switches effective for every DELETE command unless you override them; use SHOW OPTIONS to see selections currently in effect. Also see SET LOCUS, HELP PURGE, HELP WILDCARD.

DIAL
Syntax: DIAL phonenumber
Example: DIAL 7654321

Dials a number using an autodial modem. First you must SET MODEM TYPE, then SET LINE (to choose the serial port device on your computer), then SET SPEED. Then give the DIAL command, including the phone number, for example:

DIAL 7654321
If the modem is on a network modem server, SET HOST first, then SET MODEM TYPE, then DIAL.

If you give the DIAL command interactively at the Kermit prompt, and the call is placed successfully (i.e. it is answered by the modem on the far side), Kermit automatically enters CONNECT mode. If the DIAL command is given from a macro or command file, Kermit remains in command mode after the call is placed, successfully or not. You can change this behavior with the SET DIAL CONNECT command.

If the phonenumber starts with a letter, and if you have used the SET DIAL DIRECTORY command to specify one or more dialing-directory files, Kermit looks it up in the given file(s); if it is found, the name is replaced by the number or numbers associated with the name. If it is not found, the name is sent to the modem literally.

If the phonenumber starts with an equals sign ("="), this forces the part after the = to be sent literally to the modem, even if it starts with a letter, without any directory lookup.

You can also give a list of phone numbers enclosed in braces, e.g:

dial {{7654321}{8765432}{+1 (212 555-1212}}
(Each number is enclosed in braces and the entire list is also enclosed in braces.) In this case, each number is tried until there is an answer. The phone numbers in this kind of list can not be names of dialing directory entries.

A dialing directory is a plain text file, one entry per line:

name  phonenumber  ;  comments
for example:
work    9876543              ; This is a comment
e-mail  +1  (212) 555 4321   ; My electronic mailbox
germany +49 (511) 555 1234   ; Our branch in Hanover
If a phone number starts with +, then it must include country code and (in most cases) an area code, and C-Kermit will try to handle these appropriately based on the current locale (HELP SET DIAL for further info); these are called PORTABLE entries. If it does not start with +, it is dialed literally.

If more than one entry is found with the same name, Kermit dials all of them until the call is completed; if the entries are in portable format, Kermit dials them in cheap-to-expensive order: internal, then local, then long-distance, then international, based on its knowledge of your local country code and area code (see HELP SET DIAL).

Specify your dialing directory file(s) with the SET DIAL DIRECTORY command.

See also SET DIAL, SET MODEM, SET LINE, SET HOST, SET SPEED, REDIAL, and PDIAL.

DIALER
(Windows and OS/2 only) Starts the GUI dialer if it's not already started, and makes it the active window.
DIRECTORY
Syntax: DIRECTORY [ switches ] [ filespec [ filespec [ ... ] ] ]
If LOCUS is REMOTE or LOCUS is AUTO and you have an FTP connection, this command is equivalent to REMOTE DIRECTORY (RDIR). Otherwise:
Lists local files. The filespec may be a filename, possibly containing wildcard characters, or a directory name. If no filespec is given, all files in the current directory are listed. If a directory name is given, all the files in it are listed. Multiple filespecs can be given. Optional switches ('+' indicates factory defaults):

/BRIEF List filenames only.
/VERBOSE + Also list permissions, size, and date.
/FILES Show files but not directories.
/DIRECTORIES Show directories but not files.
/ALL + Show both files and directories.
/ARRAY:&a Store file list in specified array (e.g. \&a[]).
/PAGE Pause after each screenful.
/NOPAGE Don't pause after each screenful.
/TOP:n Only show the top n lines of the directory listing.
/DOTFILES Include files whose names start with dot (period).
/NODOTFILES + Don't include files whose names start with dot.
/FOLLOWLINKS Follow symbolic links.
/NOFOLLOWLINKS + Don't follow symbolic links.
/NOLINKS Don't list symbolic links at all.
/BACKUP + Include backup files (names end with .~n~).
/NOBACKUPFILES Don't include backup files.
/OUTPUT:file Store directory listing in the given file.
/HEADING Include heading and summary.
/NOHEADING + Don't include heading or summary.
/COUNT:var Put the number of matching files in the given variable.
/SUMMARY Print only count and total size of matching files.
/XFERMODE Show pattern-based transfer mode (T=Text, B=Binary).
/TYPE: Show only files of the specified type (text or binary).
/MESSAGE:text Add brief message to each listing line.
/NOMESSAGE + Don't add message to each listing line.
/NOXFERMODE + Don't show pattern-based transfer mode
/ISODATE + In verbose listings, show date in ISO 8061 format.
/ENGLISHDATE In verbose listings, show date in "English" format.
/RECURSIVE Descend through subdirectories.
/SORT:key Sort by key, NAME, DATE, or SIZE; default key is NAME.
/NOSORT + Don't sort.
/ASCENDING + If sorting, sort in ascending order.
/REVERSE If sorting, sort in reverse order.

Default for paging depends on SET COMMAND MORE-PROMPTING. Use SET OPTIONS DIRECTORY [ switches ] to change defaults; use SHOW OPTIONS to display customized defaults. Also see WDIRECTORY.

DISABLE
Syntax: DISABLE command

Security for the Kermit server. Prevents the client Kermit program from executing the named REMOTE command, such as CD, DELETE, RECEIVE, etc. For setting up a Kermit server. Denies the client Kermit program access to the named capability, such as CD, DELETE, RECEIVE, etc. Opposite of ENABLE. Type "disable ?" for a list capalities that can be disabled.

DO
Syntax: [ DO ] macroname [ arguments ]
Executes a macro that was defined with the DEFINE command. The word DO can be omitted. Trailing argument words, if any, are automatically assigned to the macro argument variables \%1 through \%9.
ECHO
Syntax: ECHO text
Displays the text on the screen, followed by a line terminator. The ECHO text may contain backslash codes. Example: ECHO \7Wake up!\7 (\7 is ASCII beep). Also see XECHO and WRITE SCREEN.
EDIT
Syntax: EDIT [ file ]
Starts your preferred editor on the given file, or if none given, the most recently edited file, if any. Also see SET EDITOR.
ENABLE
Syntax: ENABLE capability
For setting up a Kermit server. Allows the client Kermit program access to the named capability, such as CD, DELETE, RECEIVE, etc. Opposite of DISABLE. Type "enable ?" for a list capalities that can be enabled.
END
Syntax: END [ number [ message ] ]
Exits from the current macro or TAKE file, back to wherever it was invoked from, i.e. one level up. Number is return code. The message, if given, is printed. Also see: STOP and EXIT.
EVALUATE
Syntax: EVALUATE variable expression
Evaluates the expression and assigns its value to the variable. The expression can contain numbers and/or numeric-valued variables or functions, combined with mathematical operators and parentheses in traditional notation. Operators include +-/*(), etc. Example:
EVALUATE \%n (1+1) * (\%a / 3)
NOTE: Prior to C-Kermit 7.0, the syntax was "EVALUATE expression" (no variable), and the result was printed. Use SET EVAL { OLD, NEW } to choose the old or new behavior, which is NEW by default.

Alse see: HELP FUNCTION EVAL.

EXIT
Syntax: EXIT (or QUIT) [ number [ text ] ]
Exits from the Kermit program, closing all open files and devices. If a number is given it becomes Kermit's exit status code. If text is included, it is printed. Also see SET EXIT.
FILE
Syntax: FILE [ switches ] channel [ data ]
Opens, closes, reads, writes, searches in, and manages local files. For thorough documentation with definitions and examples, CLICK HERE.

The FILE commands are:

Full command Shortcut Description
FILE OPEN FOPEN Open a local file.
FILE CLOSE FCLOSE Close an open file.
FILE READ FREAD Read data from an open file.
FILE WRITE FWRITE Write data to an open file.
FILE LIST FLIST List open files.
FILE STATUS FSTATUS Show status of a channel.
FILE REWIND FREWIND Rewind an open file
FILE COUNT FCOUNT Count lines or bytes in an open file
FILE SEEK FSEEK Seek to specified spot in an open file.
FILE FLUSH FFLUSH Flush output buffers for an open file.

Type HELP FILE OPEN or HELP FOPEN for details about FILE OPEN;
type HELP FILE CLOSE or HELP FCLOSE for details about FILE CLOSE, and so on.

The following variables are related to the FILE command:

\v(f_max) Maximum number of files that can be open at once
\v(f_error) Completion code of most recent FILE command or function
\v(f_count) Result of most recent FILE COUNT command

The following functions are related to the FILE command:

\F_eof() Check if channel is at EOF
\F_pos() Get channel read/write position (byte number)
\F_line() Get channel read/write position (line number)
\F_handle() Get file handle
\F_status() Get channel status
\F_getchar() Read character
\F_getline() Read line
\F_getblock() Read block
\F_putchar() Write character
\F_putline() Write line
\F_putblock() Write block
\F_errmsg() Error message from most recent FILE command or function

Type HELP FUNCTION function-name for information about each one.

FILE OPEN (FOPEN)
Syntax: FILE OPEN [ switches ] variable [ filename ]
Opens the file indicated by filename in the mode indicated by the switches, if any, or if no switches are included, in read-only mode, and assigns a channel number for the file to the given variable. Synonym: FOPEN. Examples:
fopen /read \%i inputfile.txt
fopen /write \%o outputfile.txt
FOPEN allocates a new channel number and assigns to the variable (\%i and \%o in this case; 'i' for Input and 'o' for Output; of course you can use any variables you wish).

Here are the FOPEN switches in logical order, rather than alphabetical:

/READ
Open an existing file for reading.
/STDIN
Used with /READ, tells Kermit to read from Standard Input rather than file. In this case you don't specify a filename.
/WRITE
Open the file for writing. If /READ was not also specified, this creates a new file. If /READ was specified, the existing file is preserved, but writing is allowed. In both cases, the read/write pointer is initially at the beginning of the file.
/APPEND
Open the file for writing. If the file does not exist, create a new file and open it for writing. If the file exists, open it for writing, but with the initial write pointer positioned at the end.
/STDOUT
Used with /WRITE and /APPEND, tells Kermit to write to Standard Output instead of to a file. In this case you don't specify a filename.
/STDERR
Used with /WRITE and /APPEND, tells Kermit to write to Standard Error instead of a file. In this case you don't specify a filename.
/BINARY
In Windows, OS/2, and (Open)VMS, this opens the file in binary mode to inhibit end-of-line conversions. This option is ignored in UNIX.
Switches can be combined in an way that makes sense and is supported by the underlying operating system.
FILE READ (FREAD)
C-Kermit>h fread Syntax: FILE READ [ switches ] channel [ variable ]
Reads data from the file on the given channel number into the variable, if one was given; if no variable was given, the result is printed on the screen. The variable should be a macro name rather than a \%x variable or array element if you want backslash characters in the file to be taken literally. Switches:
/LINE
Specifies that a line of text is to be read. A line is defined according to the underlying operating system's text-file format. For example, in UNIX a line is a sequence of characters up to and including a linefeed. The line terminator (if any) is removed before assigning the text to the variable. This is the default read mode, so this switch can be omitted.
/SIZE:number
Specifies that the given number of bytes (characters) is to be read. This gives a semblance of "record i/o" for files that do not necessarily contain lines. The resulting block of characters is assigned to the variable without any editing.
/CHARACTER
Equivalent to /SIZE:1. If FILE READ /CHAR succeeds but the variable is empty, this indicates a NUL byte was read.
Note: Only one of /LINE, /SIZE, and /CHARACTER should be given.
/TRIM
Trims trailing whitespace from the right when used with /LINE. Ignored if used with /CHAR or /SIZE.
/UNTABIFY
Tells Kermit to convert tabs to spaces (assuming tabs set every 8 spaces) when used with /LINE. Ignored if used with /CHAR or /SIZE.
The FREAD function is also available in function form as \F_getline(), \F_getblock(), and \F_getchar(),
FILE WRITE (FWRITE)
FILE WRITE [ switches ] channel text
Writes the given text to the file on the given channel number. The text can be literal text or a variable, or any combination. If the text has contain leading or trailing spaces, and you want to preserve them, you must enclose it in {braces} or "doublequotes". Switches:
/LINE
Specifies that an appropriate line terminator is to be added to the end of the text. If no contravening switches (such as /STRING) are included, /LINE is assumed. Thus:
FWRITE \%o "This is some text."
adds the appropriate terminator (CR or CRLF) to the text when writing it.
/SIZE:number
Specifies that the given number of bytes (characters) is to be written. If the given text is longer than the requested size, it is truncated; if is shorter, it is padded according /LPAD and /RPAD switches. Synonym: /BLOCK:number
/LPAD[:value]
If /SIZE was given, but the text is shorter than the requested size, the text is padded on the left with sufficient copies of the character whose ASCII value is given to write the given length. If no value is specified, 32 (the code for Space) is used. The value can also be 0 to write the indicated number of NUL bytes. If /SIZE was not given, this switch is ignored. You can look up ASCII character values in this table.
/RPAD[:value]
Like LPAD, but pads on the right.
/STRING
Specifies that the text is to be written as-is, with no terminator added.
/CHARACTER
Specifies that one character should be written. If the text is empty or not given, a NUL character is written; otherwise the first character of text is given.
FILE FLUSH (FFLUSH)
Syntax: FILE FLUSH channel
Flushes output buffers on the given channel if it was open, forcing all material previously written to be committed to disk. Synonym: FFLUSH. Also available as \F_flush().
FILE REWIND (FREWIND)
Syntax: FILE REWIND channel If the channel is open, moves the read/write pointer to the beginning of the file. Equivalent to FILE SEEK channel 0. Synonym: FREWIND. Also available as \F_rewind().
FILE SEEK (FSEEK)
Syntax: FILE SEEK [ switches ] channel { [{+,-}]number, EOF }
Switches are /BYTE, /LINE, /RELATIVE, /ABSOLUTE, and /FIND:pattern. Moves the file pointer for this file to the given position. Subsequent FILE READs or WRITEs will take place at that position. If neither the /RELATIVE nor /ABSOLUTE switch is given, an unsigned number is absolute; a signed number is relative. EOF means to move to the end of the file. If a /FIND: switch is included, Kermit seeks to the specified spot (e.g. 0 for the beginning) and then begins searching line by line for the first line that matches the given pattern. To start searching from the current file position specify a line number of +0. To start searching from the line after the current one, use +1 (etc). Synonym: FSEEK.
FILE CLOSE (FCLOSE)
Syntax: FILE CLOSE channel Closes the file on the given channel if it was open. Synonym: FCLOSE.
FILE LIST (FLIST)
Syntax: FILE LIST
Lists the channel number, name, modes, and position of each file opened with FILE OPEN. Synonym: FLIST.
FILE STATUS (FSTATUS)
Syntax: FILE STATUS channel
If the channel is open, this command shows the name of the file, the switches it was opened with, and the current read/write position. Synonym: FSTATUS
FILE COUNT (FCOUNT)
Syntax: FILE COUNT [ { /BYTES, /LINES, /LIST, /NOLIST } ] channel
If the channel is open, this command prints the number of bytes (default) or lines in the file if at top level or if /LIST is included; if /NOLIST is given, the result is not printed. In all cases the result is assigned to the built-in \v(f_count). Synonym: FCOUNT
FINISH
Syntax: FINISH
Used by C-Kermit when it is acting as a client to a remote Kermit server, to tell it to exit sever mode but not to log out or close the connection, so you can CONNECT back to the remote host for further interaction.
FOR
Syntax: FOR variablename initialvalue finalvalue increment { commands }
FOR loop. Execute the commands the number of times given by the initial value, final value and increment. Example (countdown from ten):
FOR \%i 10 1 -1 { pause 1, echo \%i }
The variable is \%i, the initial value is 10, the final value is 1, and the increment is -1.
FTP
Syntax: FTP subcommand [ operands ]

FTP is the ARPANET's original File Transfer Protocol dating from 1971, and of the Internet that ARPANET spawned, until about 2020 when it was unceremoniously "deprecated" and virtually banished for security reasons in spite of the fact that secure FTP servers and clients have been available since 2005, and C-Kermit is one of them. If you need to access a service that requires secure FTP, you can use C-Kermit 10.0, provided it was built with OpenSSL (e.g. "make linux+ssl"; you can check this at the C-Kermit prompt with "check ssl").

For complete and thorough documentation of the Kermit FTP client, CLICK HERE (it's almost a book!).

GET
Syntax: GET [ switches ] remotefilespec [ asname ]
Tells the other Kermit, which must be in (or support autoswitching into) server mode, to send the named file or files. If the remote-filespec or the asname contains spaces, they must be enclosed in doublequotes or braces. If asname is the name of an existing local directory, incoming files are placed in that directory; if it is the name of a directory that does not exist, Kermit tries to create it. If the remote filespec is wild (i.e. will result in multiple files arriving) the asname must contain variables such as \v(filename) so each incoming file will be given a distinct name. Optional switches include:
/AS-NAME:text
Specifies "text" as the name to store the incoming file under, or directory to store it in. You can also specify the asname as the second filename on the GET command line.
/BINARY
Performs this transfer in binary mode without affecting the global transfer mode.
/COMMAND
Receives the file into the standard input of a command, rather than saving it on disk. The /AS-NAME or the second "filename" on the GET command line is interpreted as the name of a command.
/DELETE
Asks the other Kermit to delete the file (or each file in the group) after it has been transferred successfully.
/EXCEPT:pattern
Specifies that any files whose names match the pattern, which can be a regular filename, or may contain "*" and/or "?" metacharacters, are to be refused (read more about patterns HERE). To specify multiple patterns (up to 8), use outer braces around the group, and inner braces around each pattern:
/EXCEPT:{{pattern1}{pattern2}...}
/FILENAMES:{CONVERTED,LITERAL}
Overrides the global SET FILE NAMES setting for this transfer only.
/FILTER:command
Causes the incoming file to passed through the given command (standard input/output filter) before being written to disk.
/MOVE-TO:directoryname
Specifies that each file that arrives should be moved to the specified directory after, and only if, it has been received successfully.
/PATHNAMES:{OFF,ABSOLUTE,RELATIVE,AUTO}
Overrides the global SET RECEIVE PATHNAMES setting for this transfer.
/PIPES:{ ON,OFF }
Overrides the TRANSFER PIPES setting for this command only. ON allows reception of files with names like "!tar xf -" to be automatically directed to a pipeline.
/QUIET
Suppresses the on-screen file-transfer display.
/RECOVER
Used to recover from a previously interrupted transfer; GET /RECOVER is equivalent REGET. Works only for binary-mode transfers.
/RECURSIVE
Tells the server to descend through the directory tree when locating the files to be sent.
/RENAME-TO:string
Specifies that each file that arrives should be renamed as specified after, and only if, it has been received successfully. The string can", be a filename, a directory name, an expression involving variables, etc.
/TEXT
Performs this transfer in text mode without affecting the global transfer mode.
/TRANSPARENT
Inhibits character-set translation of incoming text files for the duration of the GET command without affecting subsequent commands.
GETC
Syntax: GETC [ switches] [ variablename [ prompt ] ]
Example: GETC \%c { Type any character to continue...}

Issues the prompt and sets the variable to the first character you type. Use braces or doublequotes to preserve leading and/or trailing spaces in the prompt. GETC switches:

/CHECK
GETC /CHECK (no variable or prompt is given when /CHECK is used) succeeds if characters are waiting to be read and fails if not.
/QUIET
In case of errors, no error message is issued.
/TIMEOUT:n
Gives GETC a time limit of n seconds to wait for a character to appear; if no character appears within n seconds, GETC fails and if a /QUIET switch was not given, an error message is printed.
GETOK
Syntax: GETOK [ switches ] prompttext
For use in interactive scripts. Prints the prompt text, requires user to type 'yes', 'no', or 'ok' (these can be abbreviated), and sets SUCCESS or FAILURE accordingly. Switches:
/DEFAULT:text
Default answer to be supplied if user types Return without having typed an answer.
/TIMEOUT:number
The number of seconds to wait for an answer. If the timeout expires, the default answer, if any, is supplied.
GOTO
Syntax: GOTO label
In a TAKE file or macro, go to (transfer control to) the given label. A label is a word on the left margin that starts with a colon (:). Example:

  :again
  echo Hello!
  goto again
GREP
Syntax: GREP [ switches ] pattern filespec
Synonyms: FIND, SEARCH

Searches through the given file or files for the given character string or pattern. In the normal case, all lines containing any text that matches the pattern are printed. Pattern syntax is as described HERE except that '*' is implied at the beginning unless the pattern starts with '^' and also at the end unless the pattern ends with '$'. Therefore, "grep something *.txt" lists all lines in all *.txt files that contain the word "something", but "grep ^something *.txt" lists only the lines that START with "something". The command succeeds if any of the given files contained any lines that match the pattern, otherwise it fails. Synonym: FIND.

File selection options (switches):

/NOBACKUPFILES
Excludes backup files (like somefile.txt.~3~) from the search.
/DOTFILES
Includes files whose names start with dot (.) in the search.
/NODOTFILES
Excludes files whose names start with dot (.) from the search.
/RECURSIVE
Searches through files in subdirectories too.
/TYPE:TEXT
Search only text files (requires FILE SCAN ON).
/TYPE:BINARY
Search only binary files (requires FILE SCAN ON).
Pattern-matching options:
/NOCASE
Ignores case of letters (ASCII only) when comparing.
/NOMATCH
Searches for lines that do NOT match the pattern.
/EXCEPT:pattern
Exclude lines that match the main pattern that also match this pattern.
/VERBATIM
The search string is taken literally; variables are not evaluated. This allows you to (for example) search Kermit scripts that contain ariable names, function names, etc (that begin with '\').
Display options:
/COUNT:variablename
For each file, prints only the filename and a count of matching lines and assigns the total match count to the variable, if one is given.
/DISPLAY:number
How many matching lines to show. The default is to show all matching lines. Synonym:/SHOW.
/NAMEONLY
Prints the name of each file that contains at least one matching line, one name per line, rather than showing each matching line.
/NOLIST
Doesn't print anything (but sets SUCCESS or FAILURE appropriately).
/LINENUMBERS
Precedes each file line by its line number within the file.
/PAGE
Pauses after each screenful of results.
/NOPAGE
Doesn't pause after each screenful.
Result Disposition options:
/OUTPUT:filename
Sends results to the given file.
/ARRAY:&x
Returns the results in the specified array.
/MACRO:name
Returns the results in the macro whose name is given. If a macro of the same name already exists, the grep results (if there are any) replace its previous value. Synonym: DEFINE.
HEAD
Syntax: HEAD [ switches ] filename
Displays the top part of the given file. Note: this command has a number of switches that it shares with the TYPE command, but are mostly meaningless in this context.
HANGUP
Syntax: HANGUP
Synonym: CLOSE CONNECTION

Hangs up the phone or closes the network connection.

HELP
Syntax: HELP commandname [ subcommandname ]
Prints help text for the given command, or certain other topics like PATTERNS, COMPACT-SUBSTRING, SUPPORT, INTRO, LICENSE, etc.
HTTP
Interacts with a Web (HTTP or HTTPS) server:
HTTP [ switches ] OPEN hostname service/port
Instructs Kermit to open a new connection for HTTP communication with the specified host on the specified port. The default port is "http". If are specified, they are applied to all subsequent HTTP actions (GET, PUT, ...) until an HTTP CLOSE command is executed. A URL can be included in place of the hostname and service or port.
HTTP CLOSE
Instructs Kermit to close any open HTTP connection and clear any saved switch values.
HTTP [ switches ] CONNECT host[:port]
Instructs the server to establish a connection with the specified host and to redirect all data transmitted between Kermit and the host for the life of the connection.
HTTP [ switches ] GET remotefilename [ localfilename ]
Retrieves the named file on the currently open HTTP connection. The default local filename is the same as the remote filename, but with any path stripped. If you want the file to be displayed on the screen instead of stored on disk, include the /TOSCREEN switch and omit the local filename. If you give a URL instead of a remote filename, this commands opens the connection, GETs the file, and closes the connection; the same is true for the remaining HTTP commands for which you can specify a remote filename, directory name, or path.
HTTP [ switches ] HEAD remotefilename [ localfilename ]
Like GET except without actually getting the file; instead it gets only the headers, storing them into the given file (if a local filename is specified), one line per header item as shown in the /ARRAY: switch description.
HTTP [ switches ] INDEX [ localfilename ]
Retrieves the file listing for the given server directory. NOTE: This command is not supported by most Web servers, and even when the server understand it, there is no stardard response format. HTTP [ switches ] POST [ /MIME-TYPE:type ] localfilename remotepath [ destinationfile ]
Used to send a response as if it were sent from a form. The data to be posted must be read from a file.
HTTP [ switches ] PUT [ /MIME-TYPE:type ] localfilename remotefilename [ destinationfile ]
Uploads the given local file to server file. If the remote filename is omitted, the local name is used, but with any path stripped.
HTTP [ switches ] DELETE remotefilename
Instructs the server to delete the specified filename.
The switches are:
/AGENT:
Identifies the client to the server; "C-Kermit" by default.
/HEADER:
Used for specifying any optional headers. A list of headers is provided using braces for grouping:
/HEADER:{{:}{:}...}
For a listing of valid value and formats see RFC 1945: "Hypertext Transfer Protocol -- HTTP/1.0". A maximum of eight headers may be specified.
/TOSCREEN
Display server responses on the screen.
/USER:name
In case a page requires a username for access.
/PASSWORD:
In case a page requires a password for access.
/ARRAY:arrayname
Tells Kermit to store the response headers in the given array, one line per element. The array need not be declared in advance. Example:
http /array:c get kermit/index.html
show array c
Dimension = 9
1. Date: Fri, 26 Nov 1999 23:12:22 GMT
2. Server: Apache/1.3.4 (Unix)
3. Last-Modified: Mon, 06 Sep 1999 22:35:58 GMT
4. ETag: "bc049-f72-37d441ce"
5. Accept-Ranges: bytes
6. Content-Length: 3954
7. Connection: close
8. Content-Type: text/html
As you can see, the header lines are like MIME e-mail header lines: identifier, colon, value. The /ARRAY switch is the only method available to a script to process the server responses for a POST or PUT command.
IF
Syntax: IF condition commandlist

If the condition is (is not) true, then do (don't do) the commandlist. The commandlist can be a single command, or a list of commands separated by commas or enclosed in braces. The condition can be a single condition or a group of conditions separated by AND (&&) or OR (||) and enclosed in parentheses. If parentheses are used they must be surrounded by spaces. Examples:

IF EXIST somefile.txt command
IF ( EXIST somefile.txt || = \v(nday) 3 ) command
IF ( EXIST somefile.txt || = \v(nday) 3 ) { command, command, ... }
The conditions are:
SUCCESS The previous command succeeded
OK Synonym for SUCCESS
FAILURE The previous command failed
ERROR Synonym for FAILURE
FLAG Succeeds if SET FLAG ON, fails if SET FLAG OFF
BACKGROUND C-Kermit is running in the background
FOREGROUND C-Kermit is running in the foreground
REMOTE-ONLY C-Kermit was started with the -R command-line option
KERBANG A Kerbang script is running
ALARM SET ALARM time has passed
ASKTIMEOUT The most recent ASK, ASKQ, GETC, or GETOK timed out
EMULATION Succeeds if executed while in CONNECT mode
MS-KERMIT Program is MS-DOS Kermit
C-KERMIT Program is C-Kermit
WINDOWS Program is C-Kermit on Windows
GUI Program runs in a GUI window
AVAILABLE CRYPTO Encryption is available
AVAILABLE KERBEROS4 Kerberos 4 authentication is available
AVAILABLE KERBEROS5 Kerberos 5 authentication is available
AVAILABLE NTLM NTLM authentication is available
AVAILABLE SRP SRP authentication is available
AVAILABLE SSL SSL/TLS authentication is available
MATCH string pattern Succeeds if string matches pattern
FLOAT number Succeeds if floating-point number
COMMAND word Succeeds if word is built-in command
DEFINED variablename or macroname The named variable or macro is defined
DECLARED arrayname The named array is declared
NUMERIC variable or constant The variable or constant is numeric
FUNCTION name The name is of a built-in function
EXIST filename The named file exists
ABSOLUTE filename The filename is absolute, not relative
BINARY filename The file is a binary regular file
TEXT filename The file is a text regular file
DIRECTORY string The string is the name of a directory
LINK string The string is a symbolic link
READABLE filename Succeeds if the file is readable
WRITEABLE filename Succeeds if the file is writeable
NEWER file1 file2 The 1st file is newer than the 2nd one
OPEN { symbolicfilename* } The given file or log is open
OPEN CONNECTION A connection is open
KBHIT A key has been pressed
TRUE always succeeds
FALSE always fails
VERSION equivalent to "if >= \v(version) ..."
EQUAL s1 s2 s1 and s2 (character strings or variables) are equal
LLT s1 s2 s1 is lexically (alphabetically) less than s2
LLE s1 s2 s1 is lexically less than or equal to s2
LGT s1 s2 s1 is lexically (alphabetically) greater than s2
LGE s1 s2 s1 is lexically greater than or equal to s2
NEQ s1 s2 s1 is not equal to s2
= n1 n2 n1 and n2 (numbers or variables containing numbers) are equal
< n1 n2 n1 is arithmetically less than n2
<= n1 n2 n1 is arithmetically less than or equal to n2
> n1 n2 n1 is arithmetically greater than n2
>= n1 n2 n1 is arithmetically greater than or equal to n2
!= n1 n2 n1 is not equal to n2
(number by itself) fails if the number is 0, succeeds otherwise
(variable name) If value numeric: succeeds if nonzero, fails if zero NOTE: variable name must not be the same as keyword
* Symbolic filenames: connection error screen write-file cx-log packet-log session-log debug-log read-file transaction-log

The IF command may be followed on the next line by an ELSE command. Example:

IF < \%x 10 ECHO It's less
ELSE echo It's not less
It can also include an ELSE part on the same line if braces are used:
IF < \%x 10 { ECHO It's less } ELSE { ECHO It's not less }
Multiple commands can be enclosed in braces, separated by commas:
IF > \%n \m(max) { echo \%n > old max \m(max), .max := \%n }
When braces are used the command may split onto multiple lines:
IF > \%n \m(max) {
    echo "\%n greater than old max \m(max)"
    .max := \%n
} else if < \%n \m(min) {
    echo "\%n less than old min \m(min)"
    .min := \%n
}
INCREMENT
Syntax: INCREMENT variablename [ number ]
Increment (add one to) the value of a variable if the current value is numeric. If an optional amount is specified (as a number, a variable, or an arithmetic expression that evaluates to a number, or any combination) the variable is incremented by that number instead of 1. The result is always an integer. If floating-point numbers are given, the result is truncated. Examples:
INCR \%a, INCR dollars 100, INCR size \%n, INCR total \%x/10
INPUT
Syntax: INPUT switches time [ text ]
Examples:
  INPUT 5 Login:
  INPUT 23:59:59 RING
  INPUT /NOMATCH 10
  INPUT /CLEAR 10 \13\10
  INPUT /CLEAR 10 \13\10$
  INPUT /COUNT:256 10
  INPUT 10 \fpattern(<*@*.*>)
Waits up to the given number of seconds, or until the given time of day, for the given text to arrive on the connection. For use in script programs with IF FAILURE or IF SUCCESS, which tell whether the desired text arrived within the given amount of time.

The text, if given, can be a regular text or it can be a \fpattern() invocation, in which case it is treated as a pattern rather than a literal string; see PATTERNS for details.

If the /COUNT: switch is included, INPUT waits for the given number of characters to arrive.

If no text is specified, INPUT waits for the first character that arrives and makes it available in the \v(inchar) variable. This is equivalent to including a /COUNT: switch with an argument of 1.

If the /NOMATCH switch is included, INPUT does not attempt to match any characters, but continues reading from the communication connection until the timeout interval expires. If the timeout interval is 0, the INPUT command does not wait; i.e. the given text must already be available for reading for the INPUT command to succeed. If the interval is negative, the INPUT command waits forever.

The INPUT buffer, \v(input), is normally circular. Incoming material is appended to it until it reaches the end, and then it wraps around to the beginning. If the /CLEAR switch is given, INPUT clears its buffer before reading from the connection.

Typical example of use:

    INPUT 10 login:
    IF FAIL EXIT 1 "Timed out waiting for login prompt"
    LINEOUT myuserid
    INPUT 10 Password:
    IF FAIL EXIT 1 "Timed out waiting for Password prompt"
    LINEOUT xxxxxxx
The /NOWRAP switch means that INPUT should return with failure status and with \v(instatus) set to 6 if its internal buffer fills up before any of the other completion criteria are met. This allows for capture of the complete incoming data stream (except NUL bytes, which are discarded). CAUTION: if the search target (if any) spans the INPUT buffer boundary, INPUT will not succeed.

\v(instatus) values are: 0 (success), 1 (timed out), 2 (keyboard interrupt), 3 (internal error), 4 (I/O error or connection lost), 5 (INPUT disabled), and 6 (buffer filled and /NOWRAP set); these are shown by \v(inmessage).

Also see OUTPUT, MINPUT, REINPUT, SET INPUT and CLEAR. See PAUSE for details on time-of-day format and HELP PATTERNS for pattern syntax.

INTRO
Gives a brief introduction to C-Kermit, about 150 lines long.
KCD
Syntax: KCD symbolic-directory-name

Kermit Change Directory: Like CD but (a) always acts locally, and (b) takes a symbolic directory name rather than an actual directory name. The symbolic names correspond to Kermit's directory-valued built-in variables, such as \v(download), \v(exedir), and so on. Here's the list:

download Your download directory (if any)
exedir The directory where the Kermit executable resides
home Your home, login, or default directory
inidir The directory where Kermit's initialization file was found
lockdir The UNIX UUCP lockfile directory on this computer
startup Your current directory at the time Kermit started
textdir The directory where Kermit text files reside, if any
tmpdir Your temporary directory

Also see CD, SET FILE DOWNLOAD, SET TEMP-DIRECTORY.

LEARN
Syntax: LEARN [ /ON /OFF /CLOSE ] [ filename ]

Creates a Kermit script program based on the actions you perform; for example, dialing up and logging in to a frequently used host. Include a filename to start recording. Then you can give a LEARN /OFF command to temporarily stop recording and LEARN /ON to resume recording. After LEARN /CLOSE or exit from Kermit, your script is available for execution by the TAKE command, and of course you can edit as desired.

LICENSE
Diplays the C-Kermit end-user license on your screen.
LINEOUT
Syntax: LINEOUT text
Transmits the text to the computer C-Kermit is currently connected to as a "line", meaning Kermit supplied the appropriate line terminator (carriage return and/or linefeed). Handy for automating interactive transactions with a remote host (such as logging in), used in conjunction with the INPUT command. Also see OUTPUT.
LOG
Syntax: LOG (or L) logtype [ filename [ { NEW, APPEND } ] ]
Record information in a log file:
CX
Connections made with SET LINE, SET PORT, SET HOST, DIAL, TELNET, etc. The default filename is CX.LOG in your home directory and APPEND is the default mode for opening. Synonym: LOG CONNECTIONS.
DEBUG
Debugging information, to help track down bugs in the C-Kermit program. The default log name is debug.log in current directory.
PACKETS
Kermit packets, to help with protocol problems. The default filename is packet.log in current directory. CLICK HERE for a Kermit packet decoder.
SESSION
Records your CONNECT session (default: session.log in current directory). Also see SET SESSION-LOG.
TRANSACTIONS
Names and statistics about files transferred (default: transact.log in current directory; see HELP SET TRANSACTION-LOG for transaction-log format options.)
If you include the APPEND keyword after the filename the existing log file, if any, is appended to; otherwise a new file is created (except APPEND is the default for the connection log). Use CLOSE keyword to stop logging. Note: The filename can also be a pipe, e.g.:
log transactions |lpr
log debug {| grep "^TELNET" > debug.log}
Braces are required if the pipeline or filename contains spaces.
LOGIN
Logs you in to an Internet Kermit Server, to which you have already made a connection. The login prompts you for the needed information and then performs the login operation via Kermit protocol.
LOGOUT
Logs you out from an Internet Kermit Server that you have logged in to.
LOOKUP
Syntax: LOOKUP name

Looks up the given name in the dialing directory or directories, if any, specified in the most recent SET DIAL DIRECTORY command. Each matching entry is shown, along with any transformations that would be applied to portable-format entries based on your locale. HELP DIAL, HELP SET DIAL for further info.

MAIL
Syntax: MAIL filename address
Equivalent to SEND /MAIL:address filename, sends the file to be delivered as email to the given address, using the computer's email client.
MANUAL
If there is a C-Kermit manual or "man page" on your computer and C-Kermit knows where it is, this command lets you look through it.
MESSAGE
Syntax: MESSAGE text-to-print-if-debugging
For debugging Kermit scripts. Prints the given text to stdout if SET DEBUG MESSAGE is ON; prints it to stderr if SET DEBUG MESSAGE is STDERR
MINPUT
Like INPUT, but waits for any one of list of possible matches:
Syntax: MINPUT [ switches ] n [ string1 [ string2 [ ... ] ] ]
Example: MINPUT 5 Login: {Username: } {NO CARRIER} BUSY RING

For use in script programs that interact with another computer. Waits up to n seconds for any one of the strings to arrive on the communication device. If no strings are given, the command waits for any character at all to arrive. Strings are separated by spaces; use {braces} or "doublequotes" for grouping. If any of the strings is encountered within the timeout interval, the command succeeds and the \v(minput) variable is set to the number of the string that was matched: 1, 2, 3, etc. If none of the strings arrives, the command times out, fails, and \v(minput) is set to 0. In all other respects, MINPUT is like INPUT. See INPUT for the available switches and other details of operation.

MGET
Syntax: MGET [ switches ] remotefilespec [ remotefilespec ... ]

Asks a remote Kermit server send a group of files. Just like GET except MGET allows a list of remote file specifications, separated by spaces. Each file specification can be for a single file or a "wildcard" indicating a group files, and they can be in different directories.

MKDIR
Creates a directory. Also see LRMDIR, RRMDIR, SET LOCUS.
MMOVE
Syntax: MMOVE [ switches ] filespec [ filespec [ ... ] ]
MMOVE is exactly like MSEND (next item), except each file that is sent successfully is deleted after it is sent.
MSEND
Syntax: MSEND [ switches ] filespec [ filespec [ ... ] ]
Sends the files specified by the filespecs. One or more filespecs may be listed, separated by spaces. Any or all filespecs may contain wildcards and they may be in different directories. Alternative names for the received files cannot be given. Switches include /BINARY /DELETE /MAIL /PROTOCOL /QUIET /RECOVER /TEXT /TYPE; see SEND for descriptions.
MPAUSE
Syntax: MPAUSE [ number ]
Example: MPAUSE 500
Sleep, i.e. do nothing, for the specified number of milliseconds; if no number given, 100 milliseconds. Synonym: MSLEEP.
MSLEEP
Syntax: MSLEEP [ number ]
Synonym for MPAUSE.
NEWS
Displays a brief overwiew of what's new in this version of C-Kermit.
OPEN
Syntax: OPEN mode filename

This is an obsolete (but still functional) way to open files on the the same computer where C-Kermit is running. For use with the READ and WRITE commands. The OPEN command opens the local file in the specified mode: READ, WRITE, or APPEND. !READ and !WRITE mean to read from or write to a system command rather than a file. Examples:

OPEN READ somefile.txt
OPEN !READ sort foo.bar
The newer FILE interface (FOPEN, FCLOSE, FREAD, etc) is less limited and more powerful and flexible.
ORIENTATION
Shows the directories important to Kermit: home, current, program, initialization, startup, download.
OUTPUT
Syntax: OUTPUT lineoftext Sends the text out the communications connection, as if you had typed it during CONNECT mode. The text may contain backslash codes, variables, etc, plus the following special codes:
\N Send a NUL (ASCII 0) character (you can't use \0 for this).
\B Send a BREAK signal (serial-port connections only)
\L Send a Long BREAK signal (ditto).
Also see SET OUTPUT.
PAUSE
Syntax: PAUSE [ { number-of-seconds, hh:mm:ss } ]
Example 1: PAUSE 3
Example 2: PAUSE 14:52:30

Do nothing for the specified number of seconds or until the given time of day in 24-hour hh:mm:ss notation. If the time of day is earlier than the current time, it is assumed to be tomorrow. If no argument given, one second is used. The pause can be interrupted by typing any character on the keyboard unless SLEEP CANCELLATION is OFF. If interrupted, PAUSE fails, otherwise it succeeds. Synonym: SLEEP.

PDIAL
Syntax: PDIAL phonenumber
Partially dials a phone number. Like DIAL but does not wait for carrier or CONNECT message.
PIPE
PIPE [ command ] Makes a connection through the program whose command line is given. Example:
pipe rlogin xyzcorp.com
PRINT
PRINT file [ options ] Prints the local file on a local printer with the given options via the computer's print program (such as lpr on Unix). The options for the external print program. Also see HELP SET PRINTER.
PTY
(to be filled in)
PURGE
Syntax: PURGE [ switches ] [ filespec ] Deletes backup files; that is, files whose names end in ".~n~", where n is a number. PURGE by itself deletes all backup files in the current directory. Switches:
/AFTER:date-time
Specifies that only those files modified after the given date-time are to be purged. HELP DATE for info about date-time formats.
/BEFORE:date-time
Specifies that only those files modified before the given date-time are to be purged.
/NOT-AFTER:date-time
Specifies that only those files modified at or before the given date-time are to be purged.
/NOT-BEFORE:date-time
Specifies that only those files modified at or after the given date-time are to be purged.
/LARGER-THAN:number
Specifies that only those files longer than the given number of bytes are to be purged.
/SMALLER-THAN:number
Specifies that only those files smaller than the given number of bytes are to be purged.
/EXCEPT:pattern
Specifies that any files whose names match the pattern, which can be a regular filename or may contain wildcards, are not to be purged. To specify multiple patterns (up to 8), use outer braces around the group and inner braces around each pattern:
/EXCEPT:{{pattern1}{pattern2}...}
/DOTFILES
Include (purge) files whose names begin with ".".
/NODOTFILES
Skip (don't purge) files whose names begin with ".".
/RECURSIVE
Descends through the current or specified directory tree.
/KEEP:n
Retain the 'n' most recent (highest-numbered) backup files for each file. By default, none are kept. If /KEEP is given without a number, 1 is used.
/LIST
Display each file as it is processed and say whether it is purged or kept. Synonyms: /LOG, /VERBOSE.
/NOLIST
The PURGE command should operate silently (default). Synonyms: /NOLOG, /QUIET.
/HEADING
Print heading and summary information.
/NOHEADING
Don't print heading and summary information.
/PAGE
When /LIST is in effect, pause at the end of each screenful, even if COMMAND MORE-PROMPTING is OFF.
/NOPAGE
Don't pause, even if COMMAND MORE-PROMPTING is ON.
/ASK
Interactively ask permission to delete each backup file.
/NOASK
Purge backup files without asking permission.
/SIMULATE
Inhibits the actual deletion of files; use to preview which files would actually be deleted. Implies /LIST.
Use SET OPTIONS PURGE [ switches ] to change defaults; use SHOW OPTIONS to display customized defaults. Also see HELP DELETE, HELP WILDCARD.
PUSH
Syntax: !, @, RUN, PUSH, or SPAWN, optionally followed by a command.
Gives the command to the local operating system's command processor, and displays the results on the screen. If the command is omitted, enters the system's command line interpreter or shell; exit from it (the command for this is usually EXIT or QUIT or LOGOUT) to return to Kermit.
PWD
Syntax: PWD
Print Working Directory: prints the name of C-Kermit's current working directory.
QUIT
Syntax: EXIT (or QUIT) [ number [ text ] ]
Exits from the Kermit program, closing all open files and devices. If a number is given it becomes Kermit's exit status code. If text is included, it is printed. Also see SET EXIT.
READ
Syntax: READ variablename
Reads a line from the currently open READ or !READ file into the variable (see OPEN).
RECEIVE
Syntax: RECEIVE (or R) [ switches ] [ asname ]

Normally these days, if you are connected from C-Kermit to another computer and you tell its Kermit program to send a file, C-Kermit receives it automatically without your having to do anything else (such as "escape back" to the C-Kermit prompt and give a RECEIVE command and then another CONNECT command once the transfer is finished). So the following applies only if you have told C-Kermit to SET TERMINAL AUTODOWNLOAD OFF, in which case after giving the SEND command to the remote computer, you have type C-Kermit's escape sequence, which is normally Ctrl-\ (Control-Backslash) followed by the letter C. In other words, you'll never need to use the RECEIVE command in C-Kermit unless you require any of the following. If multiple files are to arrive and you want to rename them on the fly, the asname must contain variables such as \v(filename) so each incoming file will be given a distinct name. Optional switches include:

Wait for a file to arrive from the other Kermit, which must be given a SEND command. If the optional asname is given, the incoming file is stored under that name, otherwise it will be stored under the name it arrives with. If the filespec denotes a directory, the incoming file or files will be stored with its own name in that directory. Optional switches include:

/AS-NAME:asname
"asname" as the name to store the incoming file under, instead of the name it arrived with. You can also specify the asname as a filename on the command line.
/BINARY
Most modern Kermit programs tell the receiver whether the file is text or binary. But the other Kermit does not have this feature, you'll need to tell C-Kermit wether it is text or binary.
/COMMAND
Receives the file into the standard input of a command, rather than saving it on disk. The /AS-NAME or the "filename" on the RECEIVE command line is interpreted as the name of a command.
/EXCEPT:pattern
Specifies that any files whose names match the pattern, which can be a regular filename, or may contain "*" and/or "?" metacharacters, are to be refused. To specify multiple patterns (up to 8), use outer braces around the group, and inner braces around each pattern, e.g.:
/EXCEPT:{{*.exe}{*.o}{*.xls}}
/FILENAMES:{CONVERTED,LITERAL}
Overrides the global SET FILE NAMES setting for this transfer only.
/FILTER:command
Causes the incoming file to passed through the given command (standard input/output filter) before being written to disk.
/MOVE-TO:directoryname
Specifies that each file that arrives should be moved to the specified directory after, and only if, it has been received successfully.
/PATHNAMES:{OFF,ABSOLUTE,RELATIVE,AUTO}
Overrides the global SET RECEIVE PATHNAMES setting for this transfer.
/PIPES:{ ON,OFF }
Overrides the TRANSFER PIPES setting for this command only. ON allows reception of files with names like "!tar xf -" to be automatically directed to a pipeline.
/PROTOCOL:name
Use the given protocol to receive the incoming file(s); for example ZMODEM (which works if a Zmodem program is installed on the computer where C-Kermit is running).
/QUIET
When receiving in local mode, this suppresses the file-transfer display.
/RECURSIVE
Equivalent to /PATHNAMES:RELATIVE.
/RENAME-TO:string
Specifies that each file that arrives should be renamed as specified after, and only if, it has been received successfully. The string should normally contain variables like \v(filename) or \v(filenum).
/TEXT
Forces text-mode format conversions (e.g. between Windows and Unix) unless the incoming file has the binary attribute.
/TRANSPARENT
Inhibits character-set translation of incoming text files for the duration of the RECEIVE command without affecting subsequent commands.
/CALIBRATE
Used on calibration runs; the incoming file is not stored on disk. Afterwards the STATISTICS /VERBOSE command shows the performance data. See SEND /CALIBRATE for details.
Also see SEND, GET.
REDIAL
Redial the number given in the most recent DIAL commnd.
REDIRECT
Syntax: REDIRECT command
Synonym: < (Left angle bracket).

Run the given local computer (not Kermit) command with its standard input and output redirected to the current SET LINE or SET HOST communications path.

REDO
Syntax: REDO xxx
Synonym: ^xxx
Re-executes the most recent command starting with xxx.
REGET
REGET filename

Used to resume an interrupted file transfer from the point of failure. Asks the Kermit server that is on the other end of the connection to resume sending from where it left off last time. Works for binary-mode transfers and — only on computers that have the same text-file format — text files too.

REMOTE
(to be filled in)
REMOVE
This is a relic from the times before C-Kermit could figure out on its own, when sending a file, whether it was text (and therefore needed record-format conversion) or binary (which must be sent without any kind of conversions).

REMOVE BINARY-PATTERNS [ pattern [ pattern ... ] ]
Removes the pattern(s), if any, from the SET FILE BINARY-PATTERNS list

REMOVE TEXT-PATTERNS [ pattern [ pattern ... ] ]
Removes the given patterns from the SET FILE TEXT-PATTERNS list. Use SHOW PATTERNS to see the lists. See HELP SET FILE for further info.

RENAME
Synonym: MV
For more about C-Kermit's RENAME command CLICK HERE.
If LOCUS is REMOTE or LOCUS is AUTO and you have an FTP connection, this command is equivalent to REMOTE RENAME (RREN). Otherwise, read on...
Syntax: RENAME or MOVE or MV [ switches ] name1 [ name2 ]

Renames the source file (name1) to the target name2. If name2 is a directory, name1 is allowed to contain wildcards, and the file(s) matching name1 are moved to directory name2, subject to rules of the underlying operating system regarding renaming across disk boundaries, etc. Switches:

/LIST
Print the filenames and status while renaming. Synonyms: /LOG, /VERBOSE
/NOLIST
Rename silently (default). Synonyms: /NOLOG, /QUIET
/COLLISION:{FAIL,SKIP,OVERWRITE}
Tells what to do if a file with the given (or derived) new name already exists: fail (and stop without renaming any files); skip this file without renaming it and go on to the next one, if any; or overwrite (the existing file). PROCEED is a synonym for SKIP.
/SIMULATE
Show what the effects of the RENAME command would be without actually renaming any files.
When any of the following switches is given, name2 must either be the the name of a directory, or else omitted, and name1 is allowed to contain contain wildcards, allowing multiple files to be renamed at once. If name2 is given, then all files matching name1 are moved to the name2 directory after being renamed.
/LOWER:{ALL,UPPER}
Converts letters in the filename to lowercase. ALL means to convert all matching filenames, UPPER means to convert only those filenames that contain no lowercase letters. The switch argument can be omitted, in which case ALL filenames are converted.
/UPPER:{ALL,LOWER}
Converts letters in the filename to uppercase. ALL means to convert all matching filenames, UPPER means to convert only those filenames that contain no lowercase letters. The switch argument can be omitted, in which case ALL filenames are converted.
/UPPER:{ALL,LOWER}
Converts letters in the filename to uppercase. ALL means to convert all matching filenames, LOWER means to convert only those filenames that contain no uppercase letters. As with /LOWER, ALL is the default switch argument.
/FIXSPACES:s
Replaces all spaces in each matching filename by the string s, which may be empty, a single character, or a string of characters. The default replacement (if no argument is given) is underscore (_).
/REPLACE:{{string1}{string2}{options}}
Replaces all or selected occurrences of string1 with string2 in the matching filenames. The braces are part of the command. The options string can contain the following characters:
A String matching is case-sensitive.
a String matching is case-insensitive.
^ String matching is anchored to the beginning of the filename.
$ String matching is anchored to the end of the filename.
1 Only the first occurrence of the string (if any) will be changed.
2 Only the second occurrence, and so on for all digits up to 9.
- (before a digit) Occurrences are counted from the right.
~ (before occurrence) All occurences BUT the one given are changed.
/CONVERT:cset1:cset2
Converts each matching filename from character-set 1 to character-set 2. Character sets are the same as for SET FILE CHARACTER-SET.
Global values for /LIST and COLLISION can be set with SET RENAME and displayed with SHOW RENAME.
RESEND
Syntax: RESEND filespec [ asname ] Resends the file or files, whose previous transfer was interrupted. Picks up from where previous transfer left off, IF the receiver kept the partially received file. Works for all binary-mode transfers and for text-mode transfers between platforms that have the same text-file format. Requires file-transfer partner to support recovery. Synonym: REPUT.
RETURN
Syntax: RETURN [ value ]
For use inside a macro definition: returns from the macro to its caller. An optional return value can be given for use with \fexecute(macroname,args), which allows macros to be used like functions.
RLOGIN
Syntax: RLOGIN [ switches ] [ host [ username ] ]
Equivalent to SET NETWORK TYPE TCP/IP, SET HOST host [ service ] /RLOGIN, IF SUCCESS CONNECT. If host is omitted, the previous connection (if any) is resumed. Depending on how Kermit has been built switches may be available for Kerberos authentication and DES encryption.
RMDIR
Syntax: RMDIR directoryname
Removes the named directory, which must be empty. Wildcards not permitted.
RUN
Syntax: !, @, RUN, PUSH, or SPAWN, optionally followed by a command.
Passes the command to the local operating system's command processor, and displays the results on the screen. If the command is omitted, enters the system's command line interpreter or shell; exit from it (the command for this is usually EXIT or QUIT or LOGOUT) to return to Kermit.
SCREEN
Syntax: SCREEN { CLEAR, CLEOL, MOVE row column }
Performs screen-formatting actions. Correct operation of these commands depends on proper terminal setup on both ends of the connection:
SCREEN { CLEAR, CLEOL, MOVE row column }
Performs screen-formatting actions. Correct operation of these commands depends on proper terminal setup on both ends of the connection -- mainly that the host terminal type is set to agree with the kind of terminal or the emulation you are viewing C-Kermit through.
SCREEN CLEAR
Moves the cursor to home position and clears the entire screen. Synonyms: CLS, CLEAR SCREEN.
SCREEN CLEOL
Clears from the current cursor position to the end of the line.
SCREEN MOVE row column
Moves the cursor to the indicated row and column. The row and column numbers are 1-based so on a 24×80 screen, the home position is 1 1 and the lower right corner is 24 80. If a row or column number is given that too large for what Kermit or the operating system thinks is your screen size, the appropriate number is substituted.
Also see:
SHOW VARIABLE TERMINAL, SHOW VARIABLE COLS, SHOW VAR ROWS, SHOW COMMAND.
SCRIPT
Syntax: SCRIPT text
A limited and cryptic "login assistant", carried over from 1980s C-Kermit releases for comptability. Handy for those who know UUCP scripting because it's based on that. It's indended primarily for login to a remote computer using the text provided. The login script operates like UNIX uucp "L.sys" entries. A login script is a sequence of the form:
expect send [expect send] . . .
where 'expect' is a prompt or message to be issued by the remote site, and 'send' is the names, numbers, etc, to return. The send may also be the keyword EOT to send Control-D, or BREAK (or \\b) to send a break signal. Letters in send may be prefixed by ~ to send special characters:

~b backspace, ~s space, ~q '?', ~n linefeed, ~r return, ~c don't append a return, and ~o[o[o]] for octal of a character. As with some UUCP systems, sent strings are followed by ~r unless they end with ~c.

Only the last 7 characters in each expect are matched. A null expect, e.g. ~0 or two adjacent dashes, causes a short delay. If you expect that a sequence might not arrive, as with uucp, conditional sequences may be expressed in the form:

-send-expect[-send-expect[...]]
where dashed sequences are followed as long as previous expects fail.
SEND
Syntax: SEND [ switches ] [ filespec [ asname ] ]
Synonyms: S, PUT

Sends the file or files indicated by filespec. If the filespec is omitted the SEND-LIST (if any) is used (see ADD). The filespec may contain wildcard characters. An asname may be given to specify the name(s) the files(s) are sent under; if multiple files are being sent the asname must contain variables such as \v(filename). If the asname is omitted, each file is sent under its own name. Also see HELP MSEND, HELP WILDCARD. Optional switches include:

/ARRAY:arrayname
Specifies that the data to be sent comes from the given array, such as \&a[]. A range may be specified, e.g. SEND /ARRAY:&a[100:199]. Leave the brackets empty or omit them altogether to send the whole 1-based array. Include /TEXT to have Kermit supply a line terminator at the end of each array element (and translate character sets if character-set translations are set up), or /BINARY to treat the array as one long string of characters to be sent as-is. If an asname is not specified, the array is sent with the name _ARRAY_X_, where "X" is replaced by the actual array letter ("a" in this example).
/AS-NAME:text
Specifies text as the name to send the file under instead of its real name. This is equivalent to giving an as-name after the filespec.
/BINARY
Performs this transfer in binary mode without affecting the global transfer mode.
/TEXT
Performs this transfer in text mode without affecting the global transfer mode.
/TRANSPARENT
Inhibits character-set translation for text files for the duration of the SEND command without affecting subsequent commands.
/NOBACKUPFILES
Skip (don't send) Kermit or EMACS backup files (files with names that end with ".~n~", where n is a number).
/DOTFILES
Include (send) files whose names begin with ".".
/NODOTFILES
Don't send files whose names begin with ".".
/FOLLOWLINKS
Send files that are pointed to by symbolic links.
/NOFOLLOWLINKS
Skip over symbolic links (default).
/COMMAND
Sends the output from a command, rather than the contents of a file. The first "filename" on the SEND command line is interpreted as the name of a command; the second (if any) is the asname.
/FILENAMES:{CONVERTED,LITERAL}
Overrides the global SET FILE NAMES setting for this transfer only.
/PATHNAMES:{OFF,ABSOLUTE,RELATIVE}
Overrides the global SET SEND PATHNAMES setting for this transfer.
/FILTER:command
Specifies a command (standard input/output filter) to pass the file through before sending it.
/DELETE
Deletes the file (or each file in the group) after, and only if, it has been sent successfully (applies only to real files).
/QUIET
When sending in local mode, this suppresses the file-transfer display.
/RECOVER
Used to recover from a previously interrupted transfer; SEND /RECOVER is equivalent RESEND (works in binary mode, but in text mode only if the Kermit partners have the same text-file format).
/RECURSIVE
Tells C-Kermit to look not only in the given or current directory for files that match the filespec, but also in all its subdirectories, and all their subdirectories, etc.
/RENAME-TO:name
Tells C-Kermit to rename each source file that is sent successfully to the given name (usually you should include \v(filename) in the new name, which is replaced by the original filename.
/MOVE-TO:directory
Tells C-Kermit to move each source file that is sent successfully to the given directory.
/STARTING:number
Starts sending the file from the given byte position. SEND /STARTING:n filename is equivalent to PSEND filename n.
/SUBJECT:text
Specifies the subject of an email message, to be used with /MAIL. If the text contains spaces, it must be enclosed in braces.
/MAIL:address
Sends the file as e-mail to the given address; use with /SUBJECT:.
/PRINT:options
Sends the file to be printed, with optional options for the printer in the syntax of the underlying operating systems printing utility (e.g. lpr in Unix).
/PROTOCOL:name
Uses the given protocol to send the file (Kermit, Zmodem, etc) for this transfer without changing global protocol. Kermit protocol is built-in but the others are internal programs that might or might not be installed on your computer.
/AFTER:date-time
Specifies that only those files modified after the given date-time are to be sent. HELP DATE for info about date-time formats.
/BEFORE:date-time
Specifies that only those files modified before the given date-time are to be sent.
/NOT-AFTER:date-time
Specifies that only those files modified at or before the given date-time are to be sent.
/NOT-BEFORE:date-time
Specifies that only those files modified at or after the given date-time are to be sent.
/LARGER-THAN:number
Specifies that only those files longer than the given number of bytes are to be sent.
/SMALLER-THAN:number
Specifies that only those files smaller than the given number of bytes are to be sent.
/EXCEPT:pattern
Specifies that any files whose names match the pattern, which can be a regular filename, or may contain "*" and/or "?" metacharacters, are not to be sent. To specify multiple patterns (up to 8), use outer braces around the group, and inner braces around each pattern:
/EXCEPT:{{pattern1}{pattern2}...}
More about patterns HERE.
/TYPE:{ALL,TEXT,BINARY}
Send only files of the given type (see SET FILE SCAN).
/LISTFILE:filename
Specifies the name of a file that contains the list of names of files that are to be sent. The filenames should be listed one name per line in this file (but a name can contain wildcards).
SEND /CALIBRATE
Syntax: /CALIBRATE:kbytes
Sends a "file" of the given length for the purpose of calibration. The file is not on disk; it is generated on the fly by Kermit in a way that is almost impossible to compress. Thus the speed of the transfer is independent of disk accesses or of compression. When the /CALIBRATE is given, you omit the file specification; SEND /CALIBRATE by itself is sufficient. Of course other SEND switches can be used as well. Ideally the other Kermit should be told to RECEIVE /CALIBRATE (if it supports this feature), so it won't store the incoming file to disk. A typical use for calibration transfers is benchmarking of different computers and/or network connections, or testing the effect of various settings like packet length, sliding window size, streaming, etc. After the transfer, give the STATISTICS /VERBOSE command to see the statistics.
Also see RECEIVE.
SERVER
Syntax: SERVER

Enter server mode on the current connection. All further commands are taken in packet form from the other Kermit program. Use FINISH, BYE, or REMOTE EXIT to get C-Kermit out of server mode.

SET
The SET command establishes communication, file, scripting, or other parameters. The SHOW command can be used to display the values of SET parameters. The SET and SHOW commands are documented in their own section of this page.
SHIFT
Syntax: SHIFT [ n ] Shifts script command-line or macro or TAKE file argument variables \%1..9 or \&_[1..n] n places to the left; default n = 1.
SHOW
(see the SET/SHOW section)
SLEEP
Syntax: SLEEP [ { number-of-seconds, hh:mm:ss } ]
Synonym: PAUSE
SPACE
Display disk usage in current device and/or directory.
SSH (Unix)
Syntax: SSH [ options ] hostname [ command ]

Makes an SSH connection using the external ssh program via the SET SSH COMMAND string, which is "ssh -e none" by default. Options for the external ssh program may be included. If the hostname is followed by a command, the command is executed on the host instead of an interactive shell.

SSH (Windows)
Syntax: SSH { ADD, AGENT, CLEAR, KEY, [ OPEN ], V2 } operands...

C-Kermit for Windows has its own built-in SSH (Secure Shell) client, where the SSH command performs SSH-related actions as follows:

SSH ADD LOCAL-PORT-FORWARD local-port host port
Adds a port forwarding triplet to the local port forwarding list. The triplet specifies a local port to be forwarded and the hostname / ip-address and port number to which the port should be forwarded from the remote host. Port forwarding is activated at connection establishment and continues until the connection is terminated.
SSH ADD REMOTE-PORT-FORWARD remote-port host port
Adds a port forwarding triplet to the remote port forwarding list. The triplet specifies a remote port to be forwarded and the hostname/ip-address and port number to which the port should be forwarded from the local machine. Port forwarding is activated at connection establishment and continues until the connection is terminated.
SSH AGENT ADD [ identity-file ]
Adds the contents of the identity-file (if any) to the SSH AGENT private key cache. If no identity-file is specified, all files specified with SET SSH IDENTITY-FILE are added to the cache.
SSH AGENT DELETE [ identity-file ]
Deletes the contents of the identity-file (if any) from the SSH AGENT private key cache. If no identity-file is specified, all files specified with SET SSH IDENTITY-FILE are deleted from the cache.
SSH AGENT LIST [ /FINGERPRINT ]
Lists the contents of the SSH AGENT private key cache. If /FINGERPRINT is specified, the fingerprint of the private keys are displayed instead of the keys.
SSH CLEAR LOCAL-PORT-FORWARD
Clears the local port forwarding list.
SSH CLEAR REMOTE-PORT-FORWARD
Clears the remote port forwarding list.
SSH KEY commands:
The SSH KEY commands create and manage public and private key pairs (identities). There are four forms of SSH keys. Each key pair is stored in its own set of files:

Key Type Private Key File Public Key File
RSA keys \v(home).ssh/id_rsa \v(home).ssh/id_rsa.pub
DSA keys \v(home).ssh/id_dsa \v(home).ssh/id_dsa.pub
ECDSA keys \v(home).ssh/id_ecdsa \v(home).ssh/id_ecdsa.pub
ED25519 keys \v(home).ssh/id_ed25519 \v(home).ssh/id_ed25519.pub

Keys are stored using the OpenSSH keyfile format. The private key files can be (optionally) protected by specifying a passphrase. A passphrase is a longer version of a password. English text provides no more than 2 bits of key data per character. 56-bit keys can be broken by a brute force attack in approximately 24 hours. When used, private key files should therefore be protected by a passphrase of at least 40 characters (about 80 bits).

To install a public key file on the host, you must transfer the file to the host and append it to your "authorized_keys" file. The file permissions must be 600 (or equivalent).

SSH KEY CHANGE-PASSPHRASE [ /NEW-PASSPHRASE:passphrase /OLD-PASSPHRASE:passphrase ] filename
This re-encrypts the specified private key file with a new passphrase. The old passphrase is required. If the passphrases (and filename) are not provided Kermit prompts your for them.
SSH KEY CREATE [ /BITS:bits /PASSPHRASE:passphrase /TYPE:{ DSS, ECDSA, ED25519, RSA } ] filename
This command creates a new private/public key pair. The defaults is TYPE:ED25519. The filename is the name of the private key file. The The public key is created with the same name with .pub appended to it. If a filename is not specified Kermit prompts you for it. Key length options (/BITS:) depends on the key type:
ECDSA: 256 (default), 384, 521
RSA: 1024, 2048, 3072 (default), 4096, 8192
DSS: 1024 (default), 2048
ED25519 does not support being given a key length and any value supplied via /BITS: will be ignored.
SSH KEY DISPLAY [ /FORMAT:{FINGERPRINT,OPENSSH,SSH.COM} ] filename
This command displays the fingerprint or public key for the specified key. Default action is to show the fingerprint.
SSH [ OPEN ] host [ port ]
[ /COMMAND:command /USER:username
  /PASSWORD:password /VERSION:{ 1, 2 }
  /X11-FORWARDING:{ ON, OFF } ]
This command establishes a new connection using SSH version 1 or version 2 protocol. The connection is made to the specified host on the SSH port (you can override the port by including a port name or number after the host name). Once the connection is established the authentication negotiations begin. If the authentication is accepted, the local and remote port forwarding lists are used to establish the desired connections. If X11 Forwarding is active, this results in a remote port forwarding between the X11 clients on the remote host and X11 Server on the local machine. If a /COMMAND is provided, the command is executed on the remote host in place of your default shell.

An example of a /COMMAND to execute C-Kermit in SERVER mode is:

SSH OPEN hostname /COMMAND:{kermit -x -l 0}
STATISTICS
Syntax: STATISTICS [/BRIEF, /VERBOSE]
Display statistics about most recent file transfer.
STATUS
STATUS is the same as SHOW STATUS; prints SUCCESS or FAILURE for the previous command.
STOP
Syntax: STOP [ number [ message ] ]

Stop executing the current macro or TAKE file and return immediately to the Kermit prompt. Number is a return code. Message printed if given. Also see END.

SUPPORT
Describes how to get technical support.
SUSPEND
Syntax: SUSPEND
Synonym: Z

(Unix only) Suspends Kermit. Continue Kermit with the appropriate shell command, such as fg.

SWITCH
Syntax: SWITCH variable { case-list }

Selects from a group of commands based on the value of a variable. The case-list is a series of lines like these:

:x, command, command, ..., break
where "x" is a possible value for the variable. At the end of the case-list, you can put a "default" label to catch when the variable does not match any of the labels:
:default, command, command, ...
The case label "x" can be a character, a string, a variable, a function invocation, a pattern, or any combination of these. See PATTERNS for information about patterns.
TAIL
Syntax: TAIL [ switches ] filename

Shows the last part of a file on your screen. Equivalent to TYPE /TAIL filename and has all the same switches; see TYPE.

TAKE
Syntax: TAKE filename [ arguments ]

Tells Kermit to execute commands from the named file. Optional argument words are automatically assigned to the macro argument variables \%1 through \%9. Kermit command files may themselves contain TAKE commands, up to any reasonable depth of nesting.

TELNET
Syntax: TELNET [ switches ] [ host [ service ] ]

Equivalent to SET NETWORK TYPE TCP/IP, SET HOST host [ service ] /TELNET, IF SUCCESS CONNECT. If host is omitted, the previous connection (if any) is resumed. Depending on how Kermit has been built switches may be available to require a secure authentication method and bidirectional encryption. Normal switches are:

/USERID:[name]
This switch is equivalent to SET LOGIN USERID name or SET TELNET ENVIRONMENT USER name. If a string is given, it sent to host during Telnet negotiations; if this switch is given but the string is omitted, no user ID is sent to the host. If this switch is not given, your current USERID value, \v(userid), is sent. When a userid is sent to the host it is a request to login as the specified user.
/WAIT
Wait for Telnet protocol negations to complete (default).
/NOWAIT
Don't wait for Telnet protocol negations to complete (for dealing with misbehaving Telnet servers).
/TIMEOUT:seconds
How long to wait for negotiations to complete before giving up.
TOUCH
Syntax: TOUCH [ switches ] filespec

Updates the modification time of the given file or files to the current date and time or to the date and time specified in the /MODTIME: switch. If the filespec is the name of a single file that does not exist, the file is created. The following switches can be used to restrict the files to be touched according to various criteria:

/FILES Select files but not directories.
/DIRECTORIES Select directories but not files.
/ALL + Select both files and directories.
/AFTER: Select files modified after the given date
/BEFORE: Select files modified before the given date
/LARGER: Select files larger than the given size in bytes
/SMALLER: Select files smaller than the given size in bytes
/EXCEPT: Exclude the given files (list or pattern)
/DOTFILES Include files whose names start with dot (period).
/NODOTFILES + Don't include files whose names start with dot.
/FOLLOWLINKS For symbolic link touch the linked-to file, not the link
/NOFOLLOWLINKS + Select the link itself, not the file it links to.
/NOLINKS Skip over symbolic links.
/BACKUP + Include backup files (names end with .~n~).
/NOBACKUPFILES Don't include backup files.
/TYPE: Select only files of the given type, TEXT or BINARY.
/RECURSIVE Descend through subdirectories.
/NORECURSIVE + Don't descend through subdirectories.
/MODTIME: Changes the modification time for the selected files. in numeric yyyy:mm:dd:hh:mm:ss format. if hh:mm:ss omitted time is set to 00:00:00
/SIMULATE List files that would be touched, but don't touch them.
/LIST Show which files are being touched.

Factory defaults are marked with +. Use HELP DATE to learn the date-time formats usable with /MODTIME:. If a /MODTIME: switch is not given, each selected file gets a modification time equal to the current clock time. You can use the /SIMULATE switch in combination with other switches to see which files will be affected without actually changing their dates.

TRACE
Syntax: TRACE { /ON, /OFF } { ASSIGNMENTS, COMMAND-LEVEL, ALL }
For debugging Kermit scripts: turns tracing of the given object on or off. The default object is ALL.
TRANSLATE
Syntax: TRANSLATE file1 cs1 cs2 [ file2 ]
Synonym for CONVERT: Converts the character encoding of a file to a different encoding.
TRANSMIT
Syntax: TRANSMIT [ switches ] filename
Synonym: XMIT

When C-Kermit is connected to another computer, TRANSMIT sends the contents of a file, without any error checking or correction, to the computer on the other end of your communications connection (or if C-Kermit is in remote mode, displays it on the screen). The filename is the name of a single file (no wildcards) to be sent. The file is sent according to your current FILE TYPE setting (BINARY or TEXT), which you can override with a /BINARY or /TEXT switch without disturbing the global setting. There can be no guarantee that the other computer will receive the file correctly and completely. Before you start the TRANSMIT command, you must put the other computer in data collection mode, for example by starting a text editor. TRANSMIT may be interrupted by Ctrl-C. Synonym: XMIT. See HELP SET TRANSMIT for further information. Switches:

/BINARY
Transmit the file in binary mode, as-is, without any conversions.
/TEXT
Transmit the file a line at a time with a carriage return character at the end, as if you were typing lines of text.
/TRANSPARENT
Without this switch, character sets are converted according to your current FILE and TERMINAL CHARACTER-SET settings when TRANSMIT is in text mode. Include /TRANSPARENT to disable character-set conversion in text mode (/TRANSPARENT implies /TEXT).
/NOECHO
Normally the transmitted material is echoed to your screen. Use SET TRANSMIT ECHO OFF or the /NOECHO switch to suppress echoing. Note that TRANSMIT /NOECHO /NOWAIT /BINARY is a special case, that more or less blasts the file out at full speed.
/NOWAIT
In text mode, the file is sent a line at a time, with carriage return at the end of each line (as if you were typing it at your keyboard), and C-Kermit waits for a linefeed to echo before sending the next line; use /NOWAIT to eliminate the feedback requirement. In binary mode, it is sent a character at a time, with no feedback required, and the /NOWAIT switch has no effect.
/PIPE
Says that file1 is an external command whose output is to be sent, instead of file.
TYPE
Syntax: TYPE [ switches ] file
Displays a file on the screen. Pauses automatically at end of each screenful if COMMAND MORE-PROMPTING is ON (which is the default). Optional switches:
/PAGE
Pause at the end of each screenful even if COMMAND MORE-PROMPTING OFF. Synonym: /MORE
/NOPAGE
Don't pause at the end of each screen even if COMMAND MORE-PROMPTING ON.
/HEAD:n
Only type the first 'n' lines of the file.
/TAIL:n
Only type the last 'n' lines of the file.
/CONVERT:name
Translates to the named character set (default = current file charset). Synonym: TRANSLATE-TO.
/MATCH:pattern
Only type lines that match the given pattern. HELP WILDCARDS for info info about patterns. /HEAD and /TAIL apply after /MATCH.
/PREFIX:string
Print the given string at the beginning of each line.
/NUMBER
Add line numbers (conflicts with /PREFIX)
/WIDTH:number
Truncate each line at the given column number before printing.
/COUNT
Count lines (and matches) and print the count(s) but not the lines.
/CHARACTER-SET:name
Translates from the named character set.
/TRANSPARENT
Inhibits character-set translation.
/INTERPRET
Shows the file with Kermit backslash escapes (variables) interpreted.
/OUTPUT:name
Sends results to the given file. If this switch is omitted, the results appear on your screen. This switch overrides any express or implied /PAGE switch.
You can use SET OPTIONS TYPE to set the defaults for /PAGE or /NOPAGE and /WIDTH. Use SHOW OPTIONS to see current TYPE options.
UNDECLARE
Syntax: UNDECLARE arrayname
Synonym for ARRAY UNDECLARE: un-declares and destroys an array.
UNDEFINE
Syntax: UNDEFINE name
Example: UNDEFINE autologin

Undefines and removes the named variable or macro that was created by the DEFINE command.

VERSION
Displays the C-Kermit version number and other details such as platform, authors, copyright, and test status (if not a final release).
VOID
Syntax: VOID text

Like ECHO but doesn't print anything; can be used to invoke functions when you don't need to display or use their results.

WAIT
Syntax: WAIT { seconds or hh:mm:ss } [ what ]
Examples:
wait 5 cd cts
wait 23:59:59 cd
Waits up to the given number of seconds or the given time of day for the specified item or event, which can be FILE, the name(s) of one or more modem signals, or nothing. If nothing is specified, WAIT acts like SLEEP. If one or more modem signal names are given, Kermit waits for the specified modem signals to appear on the serial communication device. Sets FAILURE if the signals do not appear in the given time or interrupted from the keyboard during the waiting period.

Modem signals:
cd Carrier Detect
ds Dataset Ready
ct Clear To Send
ri Ring Indicator
If you want Kermit to wait for a file event, then the syntax is:
  WAIT time FILE { CREATION, DELETION, MODIFICATION } filename
where time is as above, and filename is the name of a single file. Kermit waits up to the given amount of time for the specified event to occur with the specified file, succeeds if it occurs, fails if it doesn't.
WHERE
Used after a file transfer: tells where your transferred files went.
WHILE
Syntax: WHILE condition { commandlist }

WHILE loop. Execute the commands in the bracketed commandlist while the condition is true. Conditions are the same as for IF command.

WHO
Syntax: WHO [ user ]
For multiuser timesharing systems: runs an external program that shows current logged-in users (userid, terminal, time, host of origin). If a user is specified, then the same information for only that user.
WRITE
Syntax: WRITE object text
Writes the given text to the named object (log or file). The text text may include backslash codes, and is not terminated by a newline unless you include the appropriate code. The object parameter can be any of the following:
DEBUG-LOG
ERROR (i.e. STDERR)
FILE (the OPEN WRITE, OPEN !WRITE, or OPEN APPEND file, see HELP OPEN)
PACKET-LOG
SCREEN (compare with ECHO)
SESSION-LOG
TRANSACTION-LOG
XECHO
Syntax: XECHO text
Just like ECHO (prints the text on your screen) but does not add a line terminator to the text.
XMESSAGE
Syntax: XMESSAGE text-to-print-if-debugging
Synonym: XMSG.

For debugging Kermit scripts. Like MESSAGE, except does not include a line terminator at the end. Prints the given text to STDOUT if SET DEBUG MESSAGE is ON; prints it to stderr if SET DEBUG MESSAGE is STDERR; doesn't print it at all if SET DEBUG MESSAGE is OFF.

Z
(Unix only) Equivalent to tying Ctrl-Z: suspends Kermit and returns control to the Unix shell. Kermit can be resumed with an 'fg' shell command.

User-defined variables

For script programming, C-Kermit has a group of commands for defining, manipulating, and undefining variables, which are described above: DEFINE/_DEFINE, UNDEFINE/_UNDEFINE, ASSIGN/_ASSIGN, EVALUATE/_EVALUATE, INCREMENT/_INCREMENT, DECREMENT/_DECREMENT, and EVALUATE/_EVALUATE. Each one takes a variable name as the first argument and the variable's value as the second. The ones that start with underscore (_) evaluate the variable name before doing their jobs, and the ones without the underscores take it literally. For some of these there is also a shorthand notation:
.x = value Equivalent to "define x value" value is taken literally
.x := value Equivalent to "assign x value" value any/all variables in the value are evaluated
.x ::= value Equivalent to "evaluate x value" The value is evaluated as a mathematical expression
Note that the shorthand notation always starts with a period (.) followed immediately by the variable name ('x' in these examples), and the =, :=, or ::= operator requires at least one space before and after.

Tokens

Tokens are single non-alphanumeric characters that are significant in C-Kermit commands; those marked with '+' are effective only as the first nonblank character in the command. Those marked with '*' must be either the first character of the command or else prececed by at least one space.

? Lists the possibilities at the current spot in the commmand
! Executes a command on the underlying operating system
@ Executes a command on the underlying operating system
< Like ! but sends result out out the communications connection   
# * Introduces a comment
; * Also introduces a comment
( + Introduces an S-Expression
: + Introduces a label
. + Introduces a variable assignment
^ + Introduces a backwards search through command history[1].  
{ + Introduces a braced list of commands[2]
  1. In the "backward search through command history" the ^ it must be followed immediately by the first word of the desired command (or the first few letters of it). If only one instance is found, the command is re-executed. If multiple matches are found, they are listed. You can also use Ctrl-P and Ctrl-N to scroll backward and forward through your command history, and if you hit the Enter key on any of the commands, it is re-executed. Some versions of C-Kermit (e.g. the one for Windows) also support the up- and down-arrow keys for this purpose.
  2. The "braced list of commands" must be all on one line, separated by commas, with a right-brace at the end.

Patterns

"Pattern" refers to the notation used in a search string. C-Kermit uses patterns in many contexts, most notably when parsing a file specification that might match more than one file, e.g.
send {makefile,ck[cu]*.[cwh]}
There are two kinds of patterns: floating and anchored. Wildcards are anchored patterns that are used to match file names.

C-Kermit Pattern-matching characters
NOTATION FUNCTION
* Matches any sequence of zero or more characters. For example, "k*t" matches all strings that start with "k" and end with "t" including "kt", "kit", "knight", and "kermit".
? Matches any single character. For example, "k????t" matches all strings that are exactly 6 characters long and start with "k" and end with with "t". When typing commands at the prompt, you must precede any question mark to be used for matching by a backslash (\) to override the normal function of question mark in interactive commands, which is to provide menus and file lists.
[abc] Square brackets enclosing a list of characters matches any character in the list. Example: h[aou]t matches hat, hot, and hut.
[a-z] Square brackets enclosing a range of characters matches any character in the range; a hyphen (-) separates the low and high elements of the range. For example, [a-z] matches any character from a to z.
[acdm-z] Lists and ranges may be combined. This example matches a, c, d, or any letter from m through z.
{string1,string2,...} Braces enclose a list of strings to be matched. For example: "ker{mit,nel,beros}" matches kermit, kernel, and kerberos. The strings may themselves contain *, ?, [abc], [a-z], or other lists of strings.

To force a special pattern character to be taken literally, precede it with a backslash, e.g. [a\-z] matches a, hyphen, or z rather than a through z.

A floating pattern can also include the following special characters:

^ (First character of pattern) Anchors the pattern at the beginning.
$ (Last character of pattern) Anchors the pattern at the end.
If a floating pattern does not start with "^", the pattern can match anywhere in the string instead of only at the beginning; in other words, a leading "*" is assumed. Similarly, if the pattern doesn't end with "$", a trailing "*" is assumed.

The following commands and functions use floating patterns:
GREP [ switches ] pattern filespec
TYPE /MATCH:pattern file
\farraylook(pattern,arrayname)
\fsearch(pattern,string[,offset])
\frsearch(pattern,string[,offset])
The /EXCEPT: clause in SEND, GET, DELETE, etc.
Example:
\fsearch(abc,xxabcxxx) succeeds because xxabcxx contains abc.
\fsearch(^abc,xxabcxx) fails because xxabcxx does not start with abc.
All other commands and functions use anchored patterns, meaning that ^ and $ are not treated specially, and * is not assumed at the beginning or end of the pattern. This is true mainly of filename patterns (wildcards), since you would not want a command like "delete x" to delete all files whose names contained "x"!

You can use anchored patterns not only in filenames, but also in SWITCH case labels, in the INPUT and MINPUT commands, and in file binary- and text-patterns for filenames. The IF MATCH pattern is also anchored.

LISP S-expressions

Since version 8.0, C-Kermit has included a simple LISP-like S-Expression parser operating on numbers only. It is especially handy for floating-point arithmetic, which was notably unwieldy in earlier C-Kermit releases. S-Expressions are thoroughly documented in the C-Kermit 8.0 release notes.

An S-Expression is always enclosed in parentheses, which can contain (a) a number, (b) a variable, (c) a function that returns a number, or (d) an operator followed by one or more operands. Operands can be any of (a)-through-(c) or an S-Expression. Numbers can be integers or floating-point. Any operand that is not a number and does not start with backslash (\) is treated as a variable that would have to be written as \m(name) outside of S-Expressions. Operators:

Operator Action Example Value
EVAL (.) Returns the contained value (6) 6
QUOTE (') Inhibits evaluation of following value (quote a) a
SETQ Assigns a value to a global variable (setq a 2) 2
LET Assigns a value to a local variable (let b -1.3) -1.3
+ Adds all operands (1 or more) (+ a b) 0.7
- Subtracts all operands (1 or more) (- 9 5 2 1) 1
* Multiplies all operands (1 or more) (* a (+ b 1) 3) -1.8
/ Divides all operands (1 or more) (/ b a 2) -0.325
^ Raise given number to given power (^ 3 2) 9
++ Increments a variable (++ a 1.2) 3.2
-- Decrements a variable (-- a) 1
ABS Absolute value of 1 operand (abs (* a b 3)) 7.8
MAX Maximum of all operands (1 or more) (max 1 2 3 4) 4
MIN Minimum of all operands (1 or more) (min 1 2 3 4) 1
MOD Modulus of all operands (1 or more) (mod 7 4 2) 1
TRUNCATE Integer part of floating-point operand (truncate 1.333) 1
CEILING Ceiling of floating-point operand (ceiling 1.25) 2
FLOOR Floor of floating-point operand (floor 1.25) 1
ROUND Operand rounded to nearest integer (round 1.75) 2
ROUND ...or to given number of decimals (round 1.7584 2) 1.76
SQRT Square root of 1 operand (sqrt 2) 1.414..
EXP e (2.71828..) to the given power (exp -1) 0.367..
SIN Sine of angle expressed in radians (sin (/ pi 2)) 1.0
COS Cosine of given number (cos pi) -1.0
TAN Tangent of given number (tan pi) 0.0
LOG Natural log (base e) of given number (log 2.7183) 1.000..
LOG10 Log base 10 of given number (log10 1000) 3.0
Predicate operators return 0 if false, 1 if true, and if it is the outermost operator, sets SUCCESS or FAILURE accordingly:
Operator Meaning Example Result
< Operands in strictly descending order (< 6 5 4 3 2 1) 1
<= Operands in descending order (<= 6 6 5 4 3 2) 1
!= Operands are not equal (!= 1 1 1.0) 0
= (==) All operands are equal (= 3 3 3 3) 1
> Operands in strictly ascending order (> 1 2 3 4 5 6) 1
>= Operands in ascending order (>= 1 1 2 3 4 5) 1
AND (&&) Operands are all true (nonzero) (and 1 1 1 1 0) 0
OR (||) At least one operand is true (or 1 1 1 1 0) 1
XOR Logical Exclusive OR (xor 3 1) 0
NOT (!) Reverses truth value of operand (not 3) 0
Bit-oriented operators:
Operator Meaning Example Result
& Bitwise AND (& 7 2) 2
| Bitwise OR (| 1 2 3 4) 7
# Bitwise Exclusive OR (# 3 1) 2
~ Reverses all bits (~ 3) -4
Operators that work on truth values:
Operator Function Example Result
IF Conditional evaluation (if (1) 2 3) 2
Operators can also be names of Kermit macros that return either numeric values or no value at all.

The built-in constants are:

Constant Meaning
t True (1)
nil False (empty)
pi The value of π (3.1415926...)
If SET SEXPRESSION TRUNCATE-ALL-RESULTS is ON, all results are trunctated to integer values by discarding any fractional part. Otherwise results are floating-point if there fractional part and integer otherwise. If SET SEXPRESSION ECHO-RESULT is AUTO (the default), the value of the S-Expression is printed if the S-Expression is given at top level; if ON, it is printed at any level; if OFF it is not printed. At all levels, the variable \v(sexpression) is set to the most recent S-Expression, and \v(svalue) is set to its value. You can use the \fsexpresssion() function to evaluate an S-Expression anywhere in a Kermit command.

The SET command

SET ALARM
Syntax: SET ALARM [ { seconds, hh:mm:ss } ]
Number of seconds from now, or time of day, after which IF ALARM will succeed. 0, or no time at all, means no alarm.
SET ASK-TIMER
Syntax: SET ASK-TIMER number
For use with ASK, ASKQ, GETOK, and GETC. If ASK-TIMER is set to a number greater than 0, these commands will time out after the given number of seconds with no response. This command is "sticky", so to revert to untimed ASKs after a timed one, use SET ASK-TIMER 0. Also see IF ASKTIMEOUT.
SET ATTRIBUTES
Syntax: SET ATTRIBUTES name ON or OFF
For file transfer: use this command to enable (ON) or disable (OFF) the transmission of selected file attributes along with each file, and to handle or ignore selected incoming file attributes, including:
Attribute Description
CHARACTER-SET The transfer character set for text files
DATE The file's creation or modification date
DISPOSITION Unusual things to do with the file, like MAIL or PRINT
LENGTH The file's length
PROTECTION The file's protection (permissions)
SYSTEM-ID Machine/Operating system of origin
TYPE The file's type (text or binary)
You can also specify ALL to select all of them. Examples:
SET ATTR DATE OFF
SET ATTR LENGTH ON
SET ATTR ALL OFF
Also see SET SEND and SET RECEIVE.
SET BACKGROUND
Syntax: SET BACKGROUND { OFF, ON }
SET BACKGROUND OFF forces prompts and messages to appear on your screen even though Kermit thinks it is running in the background.
SET BELL
Unix and VMS... Syntax: SET BELL { OFF, ON }
ON (the default) enables ringing of the terminal bell (beep) except where it is disabled in certain circumstances, e.g. by SET TRANSFER BELL. OFF disables ringing of the bell in all circumstances, overriding any specific SET xxx BELL selections.
SET BELL
Windows and OS/2... Syntax: SET BELL { AUDIBLE [ { BEEP, SYSTEM-SOUNDS } ], VISIBLE, NONE }
Specifies how incoming Ctrl-G (bell) characters are handled in CONNECT mode and how command warnings are presented in command mode. AUDIBLE means either a beep or a system-sound is generated; VISIBLE means the screen is flashed momentarily.

ON (the default) enables ringing of the terminal bell (beep) except where it is disabled in certain circumstances, e.g. by SET TRANSFER BELL. OFF disables ringing of the bell in all circumstances, overriding any specific SET xxx BELL selections.

SET BLOCK-CHECK
Syntax: SET BLOCK-CHECK number
Type of block check to be used for error detection on file-transfer packets: 1, 2, 3, 4, or 5. This command must be given to the file sender prior to the transfer.

Type 1 is standard and supported by all Kermit protocol implementations, but it's only a 6-bit checksum, represented in a single printable ASCII character. It's fine for reliable connections (error-correcting modems, TCP/IP, etc) but type 3 is recommended for connections where errors can occur.

Type 2 is a 12-bit checksum represented in two printable characters.

Type 3 is a 16-bit cyclic redundancy check, the strongest error detection method supported by Kermit protocol, represented in three printable characters.

Type 4 (alias "BLANK-FREE-2") is a 12-bit checksum guaranteed to contain no blanks in its representation; this is needed for connections where trailing blanks are stripped from incoming lines of text.

Type 5 (alias "FORCE-3") means to force a Type 3 block check on every packet, including the first packet, which normally has a type 1 block check. This is for use in critical applications on noisy connections. As with types 2, 3, and 4, if the Kermit file transfer partner does not support this type, the transfer fails immediately at the beginning of the transfer.

SET BROWSER
Syntax: SET BROWSER [ pathname [ options ] ]
Specifies the name of your preferred browser plus any command-line options. SHOW BROWSER displays it. In Unix-based OS shell sessions, "set browser lynx" is a good bet.
SET BUFFERS
Syntax: SET BUFFERS n1 [ n2 ]
Changes the overall amount of memory allocated for SEND and RECEIVE packet buffers, respectively. Bigger numbers let you have longer packets and more window slots. If n2 is omitted, the same value as n1 is used. NOTE: This command is not needed in C-Kermit 9.0 or later, which is already configured for maximum-size packet buffers.
SET CARRIER-WATCH
Syntax: SET CARRIER-WATCH { AUTO, OFF, ON }
Attempts to control treatment of carrier (the Data Carrier Detect signal) on serial communication (SET LINE or SET PORT) devices. ON means that carrier is required at all times. OFF means carrier is never required. AUTO (the default) means carrier is required at all times except during the dialing. Correct operation of carrier-watch depends on the capabilities of the underlying OS, drivers, devices, and cables and connectors. If you need to CONNECT to a serial device that is not asserting carrier, and Kermit won't let you, use SET CARRIER-WATCH OFF. Use SHOW COMMUNICATIONS to display the CARRIER-WATCH setting.
SET CASE
Syntax: SET CASE { ON, OFF }
Tells whether alphabetic case is significant in string comparisons done by INPUT, IF, and other commands. This setting is local to the current macro or command file, and inherited by subordinates.
SET CD
Syntax: SET CD { HOME path>, PATH path, MESSAGE { ON, OFF, FILE list } }
SET CD HOME path
Specified which directory to change to if CD or KCD is given without a pathname. If this command is not given, your login or HOME directory is used.
SET CD PATH path
Overrides normal CDPATH environment variable, which tells the CD command where to look for directories to CD to if you don't specify them fully. The format is:
set cd path :directory:directory:...
in other words, a list of directories separated by colons, with a colon at the beginning, e.g.:
set cd path :/usr/olga:/usr/ivan/public:/tmp
SET CD MESSAGE { ON, OFF }
Default is OFF. When ON, this tells Kermit to look for a file with a certain name in any directory that you CD to, and if it finds one, to display it on your screen when you give a successful CD command. The filename, or list of names, is given in the SET CD MESSAGE FILE command.
SET CD MESSAGE FILE name
SET CD MESSAGE FILE {{name1}{name2}...{name8}}
Specify up to 8 filenames to look for when when CDing to a new directory and CD MESSAGE is ON. The first one found, if any, in the new directory is displayed. The default list is:
{{./.readme}{README.TXT}{READ.ME}}
Type SHOW CD to view current CD settings. Also see HELP SET SERVER.
SET CLEAR-CHANNEL
Syntax: SET CLEAR-CHANNEL { ON, OFF, AUTO }
Tells Kermit whether its connection is transparent to all 8-bit bytes. Default is AUTO, meaning Kermit guesses from the connection type. When both sender and receiver agree the channel is clear, SET PREFIXING NONE is used automatically, which improves file-transfer speeds significantly, especially for binary files and non-ASCII text files.
SET COMMAND
Syntax: SET COMMAND parameter value

SET COMMAND AUTODOWNLOAD { ON, OFF }
Enables/Disables automatic recognition of Kermit packets while in command mode. ON by default.
SET COMMAND BYTESIZE { 7, 8 }
Informs Kermit of the bytesize of the communication path between itself and your keyboard and screen. 8 is assumed. SET COMMAND BYTE 7 only if 8-bit characters cannot pass.
SET COMMAND ERROR { 0,1,2,3 }
Sets the verbosity level of command error messages; the higher the number, the more verbose the message. The default is 1. Higher values are useful only for debugging scripts.
SET COMMAND HEIGHT number
Informs Kermit of the number of rows in your command screen for the purposes of More?-prompting.
SET COMMAND WIDTH number>
Informs Kermit of the number of characters across your screen for purposes of screen formatting.
SET COMMAND MORE-PROMPTING { ON, OFF }
ON (the default) enables More?-prompting when Kermit needs to display text that does not fit vertically on your screen. OFF allows the text to scroll by without intervention. If your command window has scroll bars, you might prefer OFF.
SET COMMAND RECALL-BUFFER-SIZE number
How big you want Kermit's command recall buffer to be. By default, it holds 10 commands. You can make it any size you like, subject to memory constraints of the computer. A size of 0 disables command recall. Whenever you give this command, previous command history is lost.
SET COMMAND QUOTING { ON, OFF }
Whether to treat backslash and question mark as special characters (ON), or as ordinary data characters (OFF) in commands. ON by default.
SET COMMAND DOUBLEQUOTING { ON, OFF }
Whether to allow doublequotes (") to be used to enclose fields, filenames, directory names, and macro arguments that might contain spaces. ON by default; use OFF to force compatibility with older versions.
SET COMMAND RETRY { ON, OFF }
Whether to reprompt you with the correct but incomplete portion of a syntactically incorrect command. ON by default.
Use SHOW COMMAND to display these settings.
SET CONTROL-CHARACTER
Syntax: SET CONTROL-CHARACTER { PREFIXED, UNPREFIXED } { code..., ALL }
When C-Kermit transfers files over a transmission channel of unknown quality, it encodes control characters as two-printable-character sequences for safety. But if you happen to know exactly which control characters are causing problems, you can use this command to arrange that all the other ones are send "bare":

code is the numeric ASCII code for a control character 1-31,127-159,255. The word "ALL" means all characters in this range.

PREFIXED code means the given control character must be converted to a printable character and prefixed, the default for all control characters.

UNPREFIXED code means you think it is safe to send the given control character as-is, without a prefix. USE THIS OPTION AT YOUR OWN RISK!

SHOW CONTROL to see current settings. SET CONTROL PREFIXED ALL is recommended for safety. You can include multiple code values in one command, separated by spaces.

SET COUNT
Syntax: SET COUNT number
Example: SET COUNT 5
The original, primitive way for C-Kermit to handle loops. It still works, but for sanity please use the FOR and WHILE commands for looping. SET COUNT sets up a loop counter, for use with IF COUNT. Local to the current macro or command file, inherited by subordinate macros and command files.
SET DEBUG
Syntax: SET DEBUG { SESSION, ON, OFF, TIMESTAMP, MESSAGES }
SET DEBUG ON
Opens a debug log file named debug.log in the current directory. Use LOG DEBUG if you want specify a different log file name or path.
SET DEBUG OFF
Stops debug logging and session debugging.
SET DEBUG SESSION
Displays control and 8-bit characters symbolically during CONNECT mode. Equivalent to SET TERMINAL DEBUG ON.
SET DEBUG TIMESTAMP { ON, OFF }
Enables/Disables timestamps on debug log entries.
SET DEBUG MESSAGES { ON, OFF, STDERR } [C-Kermit 9.0]
Enables/Disables messages printed by the DEBUG command. SET DEBUG OFF causes DEBUG messages not to be printed. SET DEBUG ON sends DEBUG messages to standard output (stdout); SET DEBUG STDERR sends DEBUG messages to standard error (stderr).
SET DELAY
Syntax: SET DELAY number
Number of seconds to wait before sending first packet after SEND command. Not necessary with modern Kermits, which automatically change from terminal mode to file-transfer mode when a Kermit packet arrives.
SET DIAL
The SET DIAL command establishes or changes all parameters related to dialing the telephone. Also see HELP DIAL and HELP SET MODEM. Use SHOW DIAL to display all of the SET DIAL values.
SET DIAL COUNTRY-CODE number
Tells Kermit the telephonic country-code of the country you are dialing from, so it can tell whether a portable-format phone number from your dialing directory will result in a national or an international call. Examples: 1 for USA, Canada, Puerto Rico, etc; 7 for Russia, 39 for Italy, 351 for Portugal, 47 for Norway, 44 for the UK, 972 for Israel, 81 for Japan, ...

If you have not already set your DIAL INTL-PREFIX and LD-PREFIX, then this command sets default values for them: 011 and 1, respectively, for country code 1; 00 and 0, respectively, for all other country codes. If these are not your true international and long-distance dialing prefixes, then you should follow this command by DIAL INTL-PREFIX and LD-PREFIX to let Kermit know what they really are.

SET DIAL AREA-CODE [ number ]
Tells Kermit the area or city code that you are dialing from, so it can tell whether a portable-format phone number from the dialing directory is local or long distance. Be careful not to include your long-distance dialing prefix as part of your area code; for example, the area code for central London is 171, not 0171.
SET DIAL CONFIRMATION {ON, OFF}
Kermit does various transformations on a telephone number retrieved from the dialing directory prior to dialing (use LOOKUP name to see them). In case the result might be wrong, you can use SET DIAL CONFIRM ON to have Kermit ask you if it is OK to dial the number, and if not, to let you type in a replacement.
SET DIAL CONNECT { AUTO, ON, OFF }
Whether to CONNECT (enter terminal mode) automatically after successfully dialing. ON means to do this; OFF means not to. AUTO (the default) means do it if the DIAL command was given interactively, but don't do it if the DIAL command was issued from a macro or command file. If you specify ON or AUTO, you may follow this by one of the keywords VERBOSE or QUIET, to indicate whether the verbose 4-line 'Connecting...' message is to be displayed if DIAL succeeds and Kermit goes into CONNECT mode.
SET DIAL CONVERT-DIRECTORY {ASK, ON, OFF}
The format of Kermit's dialing directory changed in version 5A(192). This command tells Kermit what to do when it encounters an old-style directory: ASK you whether to convert it, or convert it automatically (ON), or leave it alone (OFF). Old-style directories can still be used without conversion, but the parity and speed fields are ignored.
SET DIAL DIRECTORY [ filename [ filename [ filename [ ... ] ] ] ]
The name(s) of your dialing directory file(s). If you do not supply any filenames, the dialing directory feature is disabled and all numbers are dialed literally as given in the DIAL command. If you supply more than one directory, all of them are searched.
SET DIAL SORT {ON, OFF}
When multiple entries are obtained from your dialing directory, they are sorted in "cheapest-first" order. If this does not produce the desired effect, SET DIAL SORT OFF to disable sorting, and the numbers will be dialed in the order in which they were found.
SET DIAL DISPLAY {ON, OFF}
Whether to display dialing progress on the screen; default is OFF.
SET DIAL HANGUP {ON, OFF}
Whether to hang up the phone prior to dialing; default is ON.
SET DIAL IGNORE-DIALTONE {ON, OFF}
Whether to ignore dialtone when dialing; default is OFF.
SET DIAL MACRO [ name ]
Specify the name of a macro to execute on every phone number dialed, just prior to dialing it, in order to perform any last-minute alterations.
SET DIAL METHOD {AUTO, DEFAULT, TONE, PULSE}
Whether to use the modem's DEFAULT dialing method, or to force TONE or PULSE dialing. AUTO (the default) means to choose tone or pulse dialing based on the country code. (Also see SET DIAL TONE-COUNTRIES and SET DIAL PULSE-COUNTRIES.)
SET DIAL PACING number
How many milliseconds to pause between sending each character to the modem dialer. The default is -1, meaning to use the number from the built-in modem database.
SET DIAL PULSE-COUNTRIES [ cc [ cc [ ... ] ] ]
Sets the list of countries in which pulse dialing is required. Each cc is a country code.
SET DIAL TEST { ON, OFF }
OFF for normal dialing. Set to ON to test dialing procedures without actually dialing.
SET DIAL TONE-COUNTRIES [ cc [ cc [ ... ] ] ]
Sets the list of countries in which tone dialing is available. Each cc is a country code.
SET DIAL TIMEOUT number
How many seconds to wait for a dialed call to complete. Use this command to override the DIAL command's automatic timeout calculation. A value of 0 turns off this feature and returns to Kermit's automatic dial timeout calculation.
SET DIAL RESTRICT { INTERNATIONAL, LOCAL, LONG-DISTANCE, NONE }
Prevents placing calls of the type indicated, or greater. For example SET DIAL RESTRICT LONG prevents placing of long-distance and international calls. If this command is not given, there are no restrictions. Useful when dialing a list of numbers fetched from a dialing directory.
SET DIAL RETRIES number
How many times to redial each number if the dialing result is busy or no no answer, until the call is successfully answered. The default is 0 because automatic redialing is illegal in some countries.
SET DIAL INTERVAL number
How many seconds to pause between automatic redial attempts; default 10.
The following commands apply only to portable-format numbers obtained from the dialing directory; i.e. numbers that start with a "+" sign and country code, followed by area code in parentheses, followed by the phone number.
SET DIAL LC-AREA-CODES [ list ]
Species a list of area codes to which dialing is local, i.e. does not require the LD-PREFIX. Up to 32 area codes may be listed, separated by spaces. Any area codes in this list will be included in the final dial string so do not include your own area code if it should not be dialed.
SET DIAL LC-PREFIX [ text ]
Specifies a prefix to be applied to local calls made from portable dialing directory entries. Normally no prefix is used for local calls.
SET DIAL LC-SUFFIX [ text ]
Specifies a suffix to be applied to local calls made from portable dialing directory entries. Normally no suffix is used for local calls.
SET DIAL LD-PREFIX [ text ]
Your long-distance dialing prefix, to be used with portable dialing directory entries that result in long-distance calls.
SET DIAL LD-SUFFIX [ text ]
Long-distance dialing suffix, if any, to be used with portable dialing directory entries that result in long-distance calls. This would normally be used for appending a calling-card number to the phone number.
SET DIAL FORCE-LONG-DISTANCE { ON, OFF }
Whether to force long-distance dialing for calls that normally would be local. For use (e.g.) in France.
SET DIAL TOLL-FREE-AREA-CODE [ number [ number [ ... ] ] ]
Tells Kermit the toll-free area code(s) in your country.
SET DIAL TOLL-FREE-PREFIX [ text ]
You toll-free dialing prefix, in case it is different from your long- distance dialing prefix.
SET DIAL INTL-PREFIX text
Your international dialing prefix, to be used with portable dialing directory entries that result in international calls.
SET DIAL INTL-SUFFIX text
International dialing suffix, if any, to be used with portable dialing directory entries that result in international calls.
SET DIAL PBX-OUTSIDE-PREFIX text
Use this to tell Kermit how to get an outside line when dialing from a Private Branch Exchange (PBX).
SET DIAL PBX-EXCHANGE text [ text [ ... ] ]
If PBX-OUTSIDE-PREFIX is set, then you can use this command to tell Kermit the leading digits of one or more local phone numbers that identify it as being on your PBX, so it can make an internal call by deleting those digits from the phone number.
SET DIAL PBX-INTERNAL-PREFIX text
If PBX-EXCHANGE is set, and Kermit determines from it that a call is internal, then this prefix, if any, is added to the number prior to dialing. Use this if internal calls from your PBX require a special prefix.
SET DISCONNECT
Syntax: SET DISCONNECT { ON, OFF }
Whether to close and release a SET LINE device automatically upon disconnection; OFF = keep device open (default); ON = close and release.
SET DUPLEX
Syntax: SET DUPLEX { FULL, HALF }
Applies to terminal connection: FULL means remote host echoes, HALF means Kermit has to do its own echoing.
SET EDITOR
Syntax: SET EDITOR name [ options ]
Specifies the name of your preferred editor, plus any command-line options. SHOW EDITOR displays it.
SET ESCAPE-CHARACTER
Syntax: SET ESCAPE number
Decimal ASCII value for escape character during CONNECT, normally 28 (Control-\), but 29 (Control-]) in Windows and OS/2. Type the escape character followed by C to get back to the C-Kermit prompt or followed by ? to see other options.

In this command, you can also specify the escape character as ^X (circumflex followed by a letter or one of: @, ^, _, [, \, or ], to indicate a control character; for example, SET ESC ^_ sets your escape character to Ctrl-Underscore.

You can also specify an 8-bit character (128-255) as your escape character, either by typing it literally or by entering its numeric code but don't do this unless you're sure you know how to type it!

SET EXIT
Syntax: SET EXIT HANGUP { ON, OFF }
When ON (which is the default), C-Kermit executes an implicit HANGUP and CLOSE command on the communications device or connection when it exits. When OFF, Kermit skips this sequence.

Syntax: SET EXIT MESSAGE { ON, OFF, STDERR }
Allows the text (if any) from an EXIT command (see HELP EXIT) to be supressed (OFF), printed normally (ON, the default), or sent to STDERR.

Syntax: SET EXIT ON-DISCONNECT { ON, OFF }
When ON, C-Kermit EXITs automatically when a network connection is terminated either by the host or by issuing a HANGUP command.

Syntax: SET EXIT STATUS number
Set C-Kermit's program return code to the given number, which can be a constant, variable, function result, or arithmetic expression.

Syntax: SET EXIT WARNING { ON, OFF, ALWAYS } When EXIT WARNING is ON, issue a warning message and ask for confirmation before EXITing if a connection to another computer might still be open. When EXIT WARNING is ALWAYS, confirmation is always requested. When OFF it is never requested. The default is ON.

SET EXTERNAL-PROTOCOL
Syntax: SET EXTERNAL-PROTOCOL { HANDLER, REDIRECT-STDERR, TIMEOUT }
(research needed)
SET FILE BYTESIZE
Syntax: SET FILE BYTESIZE { 7, 8 }
Normally 8. If 7, Kermit truncates the 8th bit of all file bytes when sending a file.
SET FILE CHARACTER-SET
Syntax: SET FILE CHARACTER-SET name
Tells the encoding of the local text file, ASCII by default. The names ITALIAN, PORTUGUESE, NORWEGIAN, etc, refer to 7-bit ISO-646 national character sets. LATIN1 is the 8-bit ISO 8859-1 Latin Alphabet 1 for Western European languages. NEXT is the 8-bit character set of the NeXT workstation. The CPnnn sets are for PCs. MACINTOSH-LATIN is for the Macintosh. LATIN2 is ISO 8859-2 for Eastern European languages that are written with Roman letters. Mazovia is a PC code page used in Poland. KOI-CYRILLIC, CYRILLIC-ISO, and CP866 are 8-bit Cyrillic character sets. SHORT-KOI is a 7-bit ASCII coding for Cyrillic. BULGARIA-PC is a PC code page used in Bulgaria HEBREW-ISO is ISO 8859-8 Latin/Hebrew. CP862 is the Hebrew PC code page. HEBREW-7 is like ASCII with the lowercase letters replaced by Hebrew. GREEK-ISO is ISO 8859-7 Latin/Greek. CP869 is the Greek PC code page. ELOT-927 is like ASCII with the lowercase letters replaced by Greek. JAPANESE-EUC, JIS7-KANJI, DEC-KANJI, and SHIFT-JIS-KANJI are Japanese Kanji character sets. UCS-2 is the 2-byte form of the Universal Character Set. UTF-8 is the serialized form of the Universal Character Set. Type SET FILE CHAR ? for a complete list of file character sets. CLICK HERE to see all the possibilities.
SET FILE DEFAULT 7BIT-CHARACTER-SET
When automatically switching among different kinds of files while sending this tells the character set to be used for 7-bit text files.
SET FILE DEFAULT 8BIT-CHARACTER-SET
This tells the character set to be used for 8-bit text files when switching automatically among different kinds of files.
SET FILE COLLISION
Syntax: SET FILE COLLISION option
Tells what to do when a file arrives that has the same name as an existing file. The options are:
BACKUP (default) Rename the old file to a new, unique name and store the incoming file under the name it was sent with.
OVERWRITE Overwrite (replace) the existing file; doesn't work for a Kermit server unless you also tell it to ENABLE DELETE.
APPEND Append the incoming file to the end of the existing file.
REJECT Refuse and/or discard the incoming file (= DISCARD).
RENAME Give the incoming file a unique name.
UPDATE Accept the incoming file only if newer than the existing file.
SET FILE DESTINATION
Syntax: SET FILE DESTINATION option
Tells where to put an arriving file that is not rejected. Options:
DISK (default) Store incoming files on disk.
PRINTER Send incoming files to SET PRINTER device.
SCREEN Display incoming files on screen (local mode only).
NOWHERE Do not put incoming files anywhere (use for calibration).
SET FILE DISPLAY
Syntax: SET FILE DISPLAY option
Selects the format of the file transfer display for local-mode file transfer. The choices are:
BRIEF A line per file, showing size, mode, status, and throughput.
SERIAL One dot is printed for every K bytes transferred.
CRT Numbers are continuously updated on a single screen line. This format can be used on any video display terminal.
FULLSCREEN A fully formatted 24x80 screen showing lots of information. This requires a terminal or terminal emulator.
NONE No file transfer display at all.
SET FILE DOWNLOAD-DIRECTORY
Syntax: SET FILE DOWNLOAD-DIRECTORY [ directory-name ]
The directory into which all received files should be placed. By default, received files go into C-Kermit's current directory.
SET FILE EOF
Syntax: SET FILE EOF { CTRL-Z, LENGTH }
End-Of-File detection method, normally LENGTH. Applies only to text-mode transfers. When set to CTRL-Z, this makes the file sender treat the first Ctrl-Z in the input file as the end of file (EOF), and it makes the file receiver tack a Ctrl-Z onto the end of the output file if it does not already end with Ctrl-Z (this is to deal with early 1980s CP/M microcomputers).
SET FILE END-OF-LINE
Syntax: SET FILE END-OF-LINE { CR, CRLF, LF }
Use this command to specify nonstandard line terminators for text files.
SET FILE INCOMPLETE
SET FILE INCOMPLETE { AUTO, KEEP, DISCARD }
What to do with an incompletely received file: KEEP, DISCARD, or AUTO. AUTO (the default) means DISCARD if transfer is in text mode, KEEP if it is in binary mode, in which case it can be recovered from the point of failure if the other Kermit supports the RESEND feature.
SET FILE LISTSIZE
Syntax: SET FILE LISTSIZE number
Changes the size of the internal wildcard expansion list. Use SHOW FILE to see the current size. Use this command to increase the size if you get a "?Too many files" error. Also see SET FILE STRINGSPACE.
SET FILE NAMES
SET FILE NAMES { CONVERTED, LITERAL } File names are normally CONVERTED to "common form" during transmission (e.g. lowercase to uppercase, spaces changed to underscore, etc). LITERAL means use filenames literally (useful between like systems). Also see SET SEND PATHNAMES and SET RECEIVE PATHNAMES.
SET FILE OUTPUT
Syntax: SET FILE OUTPUT { { BUFFERED, UNBUFFERED } [ size ] BLOCKING, NONBLOCKING }
Lets you control the disk output buffer for incoming files. Buffered blocking writes are normal. Nonblocking writes might be faster on some systems but might also be risky, depending on the underlying file service. Unbuffered writes might be useful in critical applications to ensure that cached disk writes are not lost in a crash, but will probably also be slower. The optional size parameter after BUFFERED or UNBUFFERED lets you change the disk output buffer size; this might make a difference in performance.
SET FILE PATTERNS
Syntax: SET FILE PATTERNS { ON, OFF, AUTO }
ON means to use filename pattern lists to determine whether to send a file in text or binary mode. OFF means to send all files in the prevailing mode. AUTO (the default) is like ON if the other Kermit accepts Attribute packets and OFF otherwise. FILE PATTERNS are used only if FILE SCAN is OFF (see SET FILE SCAN). SHOW PATTERNS displays the current patterns.
SET FILE SCAN
Syntax: SET FILE SCAN { ON [ size ], OFF }
Default: ON
If TRANSFER MODE is AUTOMATIC and FILE SCAN is ON (these are the default settings) Kermit peeks at the file's contents to see if it's text or binary. Use SET FILE SCAN OFF to disable file peeking, while still keeping TRANSFER MODE automatic to allow name patterns and other methods. The optional size is the number of file bytes to scan, 49152 by default. -1 means to scan the whole file. If TRANSFER MODE is AUTOMATIC and FILE SCAN is ON (as it is by default) Kermit peeks at the file's contents to see if it's text or binary. Use SET FILE SCAN OFF to disable file peeking, while still keeping TRANSFER MODE automatic to allow name patterns and other methods. The optional size is the number of file bytes to scan, 49152 by default. -1 means to scan the whole file. Also see SET FILE PATTERNS.
SET FILE TYPE
Syntax: SET FILE TYPE { TEXT, BINARY, LABELED }
How file contents are to be treated during file transfer in the absence of any other indication. TYPE can be TEXT for conversion of record format and character set, which is usually needed when transferring text files between unlike platforms (such as UNIX and Windows), or BINARY for no conversion if TRANSFER MODE is MANUAL, which is not the default. Use BINARY with TRANSFER MODE MANUAL for executable programs or binary data or whenever you wish to duplicate the original contents of the file, byte for byte. In most modern Kermit programs, the file sender informs the receiver of the file type automatically. However, when sending files from C-Kermit to an ancient or non-Kermit-Project implementation, you might need to set the corresponding file type at the receiver as well.

When TRANSFER MODE is AUTOMATIC (as it is in C-Kermit by default), various automatic methods (depending on the platform) are used to determine whether a file is transferred in text or binary mode; these methods (which might include content scan (see SET FILE SCAN above), filename pattern matching (SET FILE PATTERNS), client/server "kindred-spirit" recognition, or source file record format) supersede the FILE TYPE setting but can, themselves, be superseded by including a /BINARY or /TEXT switch in the SEND, GET, or RECEIVE command.

When TRANSFER MODE is MANUAL, the automatic methods are skipped for sending files; the FILE TYPE setting is used instead, which can be superseded on a per-command basis with a /TEXT or /BINARY switch.

LABELED is for VMS block-structured files.

SET FILE UCS BOM
Syntax: SET FILE UCS BOM { ON, OFF }
Whether to write a Byte Order Mark when creating a UCS-2 file.
SET FILE UCS BYTE-ORDER
SET FILE UCS BYTE-ORDER { BIG-ENDIAN, LITTLE-ENDIAN }
Byte order to use when creating UCS-2 files, and to use when reading UCS-2 files that do not start with a Byte Order Mark.
SET FILE WARNING
Syntax: SET FILE WARNING { ON, OFF }
Although SET FILE WARNING is superseded by the newer command, SET FILE COLLISION, it still works. SET FILE WARNING ON is equivalent to SET FILE COLLISION RENAME and SET FILE WARNING OFF is equivalent to SET FILE COLLISION OVERWRITE.
SET FLOW-CONTROL
Syntax: SET FLOW [ switch ] value Selects the type of flow control to use during file transfer, terminal connection, and script execution.

Switches let you associate a particular kind of flow control with each kind of connection: /REMOTE, /MODEM, /DIRECT-SERIAL, /TCPIP, etc; type "set flow ?" for a list of available switches. Then whenever you make a connection, the associated flow-control is chosen automatically. The flow-control values are NONE, KEEP, XON/XOFF, and possibly RTS/CTS and some others; again, type "set flow ?" for a list. KEEP tells Kermit not to try to change the current flow-control method for the connection.

If you omit the switch and simply supply a value, this value becomes the current flow control type, overriding any default value that might have been chosen in your most recent SET LINE, SET PORT, or SET HOST, or other connection-establishment command.

Type SHOW FLOW-CONTROL to see the current defaults for each connection type as well as the current connection type and flow-control setting. SHOW COMMUNICATIONS also shows the current flow-control setting.

SET FTP
See FTP section.
SET FUNCTION DIAGNOSTICS
Syntax: SET FUNCTION DIAGNOSTICS { ON, OFF }
Whether to issue diagnostic messages for illegal function calls and references to nonexistent built-in variables. ON by default.
SET FUNCTION ERROR
Syntax: SET FUNCTION ERROR { ON, OFF }
Whether an illegal function call or reference to a nonexistent built-in variable should cause a command to fail. OFF by default.
SET GET-PUT-REMOTE
Syntax: SET GET-PUT-REMOTE { AUTO, FTP, KERMIT} Tells Kermit whether GET, PUT, and REMOTE commands should be directed at a Kermit server or an FTP server. The default is AUTO, meaning that if you have only one active connection, the appropriate action is taken when you give a GET, PUT, or REMOTE command. SET GET-PUT-REMOTE FTP forces Kermit to treat GET, PUT, and REMOTE as FTP client commands; setting this to KERMIT forces these commands to be treated as Kermit client commands. NOTE: PUT includes SEND, MPUT, MSEND, and all other similar commands. Also see HELP REMOTE, SET LOCUS, HELP FTP.
SET HANDSHAKE
Syntax: SET HANDSHAKE { NONE, XON, LF, BELL, ESC, codenumber }
Character to use for half duplex line turnaround handshake during file transfer. C-Kermit waits for this character from the other computer before sending its next packet. Default is NONE; you can give one of the other names like BELL or ESC, or use SET HANDSHAKE CODE to specify the numeric code value of the handshake character. Type SET HANDSH ? for a complete list of possibilities.
SET HINTS
Syntax: SET HINTS { OFF, ON }
Sometimes wheren there's a file transfer error or some other problem, Kermit prints some "helpful hints". If you'd rather not see them, use SET HINTS OFF.
SET HOST
Syntax: SET HOST [ switches ] hostname-or-address [ service ] [ protocol-switch ]

Establishes a connection to the specified network host on the currently selected network type. For TCP/IP connections, the default service is TELNET; specify a different TCP port number or service name to choose a different service. The first set of switches can be:

/NETWORK-TYPE:name
Makes the connection on the given type of network. Equivalent to SET NETWORK TYPE name prior to SET HOST, except that the selected network type is used only for this connection. Type "set host /net:?" to see a list. /NETWORK-TYPE:COMMAND means to make the connection through the given system command, such as "rlogin" or "cu".
/CONNECT
Enter CONNECT (terminal) mode automatically if the connection is successful.
/SERVER
Enter server mode automatically if the connection is successful. /USERID:[name]
This switch is equivalent to SET LOGIN USERID name or SET TELNET
ENVIRONMENT USER name. If a string is given, it sent to host during Telnet negotiations; if this switch is given but the string is omitted, no user ID is sent to the host. If this switch is not given, your current USERID value, \v(userid), is sent. When a userid is sent to the host it is a request to login as the specified user.
The protocol-switches can be:
/NO-TELNET-INIT
Do not send initial Telnet negotiations even if this is a Telnet port.
/RAW-SOCKET
This is a connection to a raw TCP socket.
/RLOGIN
Use Rlogin protocol even if this is not an Rlogin port.
/TELNET
Send initial Telnet negotiations even if this is not a Telnet port.
Examples:
SET HOST kermit.columbia.edu
SET HOST /CONNECT kermit.columbia.edu
SET HOST * 1649
SET HOST /SERVER * 1649
SET HOST 128.59.39.2
SET HOST madlab.sprl.umich.edu 3000
SET HOST xyzcorp.com 2000 /RAW-SOCKET
SET HOST /CONNECT /COMMAND rlogin xyzcorp.com
The TELNET command is equivalent to:
SET NETWORK TYPE TCP/IP, SET HOST name [ port ] /TELNET, IF SUCCESS CONNECT

Also see SET NETWORK, TELNET, SET TELNET.

SET IKS
Syntax: SET IKS various-parameters
SET IKS ANONYMOUS INITFILE filename
The initialization file to be executed for anonymous logins. By default it is .kermrc in the anonymous root directory. This option is independent of the SET IKS INITFILE command which applies only to real users.
SET IKS ANONYMOUS LOGIN { ON, OFF }
Whether anonymous logins are allowed. By default they are allowed, so this option need be included only to disallow them (or for clarity, to emphasize they are allowed). Anonymous login occurs when the username "anonymous" or "ftp" is given, with any password (as with ftpd).
SET IKS ANONYMOUS ROOT directory
Specifies a directory tree to which anonymous users are restricted after login.
SET IKS BANNERFILE filename
The name of a file containing a message to be printed after the user logs in, in place of the normal message (copyright notice, "Type HELP or ? for help", etc).
SET IKS CDFILE filelist
When cdmessage is on, this is the name of the "read me" file to be shown. Normally you would specify a relative (not absolute) name, since the file is opened using the literal name you specified, after changing to the new directory. Example:
SET IKS CDFILE READ.ME
You can also give a list of up to 8 filenames by (a) enclosing each filename in braces, and (b) enclosing the entire list in braces. Example:
SET IKS CDFILE {{READ.ME}{aareadme.txt}{README}{read-this-first}}
When a list is given, it is searched from left to right and the first file found is displayed.
SET IKS CDMESSAGE { ON, OFF, 0, 1, 2 }
For use in the Server-Side Server configuration; whenever the client tells the server to change directory, the server sends the contents of a "read me" file to the client's screen. This feature is ON by default, and operates in client/server mode only when ON or 1. If set to 2 or higher, it also operates when the CD command is given at the IKSD> prompt. Synonym: SET IKS CDMSG.
SET IKS DATABASE { ON, OFF }
This command determines whether entries are inserted into the SET IKS DBFILE (IKSD active sessions database).
SET IKS DBFILE filename
Specifies the file which should be used for storing runtime status information about active connections. The default is a file called "iksd.db" in the /var/log directory.
SET IKS HELPFILE filename
Specifies the name of a file to be displayed if the user types HELP (not followed by a specific command or topic), in place of the built-in top-level help text. The file need not fit on one screen; more-prompting is used if the file is more than one screen long if COMMAND MORE-PROMPTING is ON, as it is by default.
SET IKS INITFILE filename
Execute filename rather than the normal initialization file for real users; this option does not apply to anonymous users.
SET IKS NO-INITFILE { ON, OFF }
Do not execute an initialization file, even if a real user is logging in.
SET IKS SERVER-ONLY { ON, OFF }
If this option is included on the IKSD command line, the Client Side Server configuration is disabled, and the user will not get a Username: or Password: prompt, and will not be able to access the IKSD command prompt. A FINISH command sent to the IKSD will log it out and close the connection, rather than returning it to its prompt.
SET IKS TIMEOUT number>
This sets a limit (in seconds) on the amount of time the client has to log in once the connection is made. If successful login does not occur within the given number of seconds, the connection is closed. The default timeout is 300 seconds (5 minutes). A value of 0 or less indicates there is to be no limit.
SET IKS USERFILE filename
This file contains a list of local usernames that are to be denied access to Internet Kermit Service. The default is /etc/ftpusers. This can be the same file that is used by wuftpd, and the syntax is the same: one username per line; lines starting with "#" are ignored. Use this option to specify the name of a different forbidden-user file, or use "set iks userfile /dev/null" to disable this feature in case there is a /etc/ftpusers file but you don't want to use it.
SET IKS XFERLOG { ON, OFF }
Whether a file-transfer log should be kept. Off by default. If "on", but no SET IKSD XFERFILE command is given, /var/log/iksd.log is used.
SET IKS XFERFILE filename
Use this option to specify an iksd log file name. If you include this option, it implies SET IKS XFERFILE ON.
SET INPUT
Syntax: SET INPUT parameter value
SET INPUT AUTODOWNLOAD { ON, OFF }
Controls whether autodownloads are allowed during INPUT command execution.
SET INPUT BUFFER-LENGTH number-of-bytes
Removes the old INPUT buffer and creates a new one with the given length.
SET INPUT CANCELLATION { ON, OFF }
Whether an INPUT in progress can be can interrupted from the keyboard.
SET INPUT CASE { IGNORE, OBSERVE }
Tells whether alphabetic case is to be significant in string comparisons. This setting is local to the current macro or command file, and is inherited by subordinate macros and take files.
SET INPUT ECHO { ON, OFF }
Tells whether to display arriving characters read by INPUT on the screen.
SET INPUT SCALE-FACTOR number
A number to multiply all INPUT timeouts by, which may include a fractional part, e.g. 2.5. All INPUT commands that specify a timeout in seconds (as opposed to a specific time of day) have their time limit adjusted automatically by this factor, which is also available in the built-in read-only variable \v(inscale). The default value is 1.0.
SET INPUT SILENCE number
The maximum number to seconds of silence (no input at all) before the INPUT command times out, 0 for no maximum.
SET INPUT TIMEOUT-ACTION { PROCEED, QUIT }
Tells whether to proceed or quit from a script program if an INPUT command fails. PROCEED (default) allows use of IF SUCCESS / IF FAILURE commands. This setting is local to the current macro or command file, and is inherited by subordinate macros and take files.
SET KEY
Syntax: SET KEY scancode [ text ]
Or: SET KEY CLEAR
Configure the key whose "scancode" is k to send the given text when pressed during CONNECT mode. If you omit the text, the key is restored to its default mapping. If there is no text, the default key binding is restored for the key k. SET KEY CLEAR restores all the default key mappings. To find out the scancode and mapping for a particular key, use the SHOW KEY command.

In Unix, VMS, and other timesharing systems, Kermit has no access to your keyboard nor its scancodes, so key mapping is severely restricted to shifted and unshifted letters, digits, and punctuation, plus control characters.

In Windows and OS/2 however, Kermit does see the scancodes and you can map every single key and key combination (e.g. Ctrl-Alt-Shift-F2) to whatever you want, including any of about 700 different "/Kverbs", See THIS PAGE for complete information about Kverbs.

SET LANGUAGE
Syntax: SET LANGUAGE languagename
Selects language-specific translation rules for text-mode file transfers. Used with SET FILE CHARACTER-SET and SET TRANSFER CHARACTER-SET when one of these is ASCII. An example would be converting properly-spelled German words such as "Grüße" to their ASCII transliteration, Gruesse in this case, which is a German-specific rule, hence the need to identify not only the character set for a file, but also the language, when converting it to ASCII.
SET LINE
Syntax: SET LINE [ switches ] [ devicename ] Synonym: SET PORT
Selects a serial-port device to use for making connections. For example "/dev/tty00" or "/dev/ttyS0" on Unix, "COM1" on Windows. To use a modem to dial out, first SET MODEM TYPE (e.g., to USR), then SET LINE xxx, then SET SPEED, then give a DIAL command. For direct null-modem connections, use SET MODEM TYPE NONE, SET LINE xxx, then SET FLOW, SET SPEED, and CONNECT.

Optional switches:

/CONNECT
Enter CONNECT mode automatically if SET LINE succeeds.
/SERVER
Enter server mode automatically if SET LINE succeeds.
SET LOCALE
Syntax: SET LOCALE [ locale-string ]
Changes the locale for language and character-set to the one given. The local-string is in the format required by your computer, such as en_US.US-ASCII or es_VE.ISO8859-1. C-Kermit's SET LOCALE command affects C-Kermit itself and any subprocesses, but does not affect the environment from which C-Kermit was invoked. SET LOCAL doesn't change Kermit's language, but it does affect such items as dates, days of the week, months, capitalization, and system error messages. See THIS PAGE about locales in C-Kermit. SHOW LOCALE lists Kermit's current locale settings.
SET LOCUS
Syntax: SET LOCUS { AUTO, LOCAL, REMOTE }
Specifies whether unprefixed file management commands should operate locally or (when there is a connection to a remote FTP or Kermit server) sent to the server. The affected commands are: CD (CWD), PWD, CDUP, DIRECTORY, DELETE, RENAME, MKDIR, and RMDIR. To force any of these commands to be executed locally, give it an L-prefix: LCD, LDIR, etc. To force remote execution, use the R-prefix: RCD, RDIR, and so on. SHOW COMMAND shows the current Locus.

By default, the Locus for file management commands is switched automatically whenever you make or close a connection: if you make an FTP connection, the Locus becomes REMOTE; if you close an FTP connection or make any other kind of connection, the Locus becomes LOCAL.

If you give a SET LOCUS LOCAL or SET LOCUS REMOTE command, this sets the locus as indicated and disables automatic switching. SET LOCUS AUTO restores automatic switching.

SET MACRO
Syntax: SET MACRO parameter value
Controls the behavior of macros.
SET MACRO ECHO { ON, OFF }
Tells whether commands executed from a macro definition should be displayed on the screen. OFF by default; use ON for debugging.
SET MACRO ERROR { ON, OFF }
Tells whether a macro should be automatically terminated upon a command error. This setting is local to the current macro, and inherited by subordinate macros.
SET MATCH
Syntax: SET MATCH { DOTFILE, FIFO } { ON, OFF }
Tells whether wildcards should match dotfiles (files whose names begin with period) or UNIX FIFO special files. MATCH FIFO default is OFF. MATCH DOTFILE default is OFF in UNIX, ON elsewhere.
SET MODEM
Syntax: SET MODEM parameter value
Note: Many of the SET MODEM parameters are configured automatically when you SET MODEM TYPE, according to the modem's capabilities. Use SHOW MODEM to see them. Also see DIAL and SET DIAL.
SET MODEM TYPE name
Tells Kermit which kind of modem you have, so it can issue the appropriate modem-specific commands for configuration, dialing, and hanging up. For a list of the modem types known to Kermit, type "set modem type ?". The default modem type is GENERIC, which should work with any AT command-set modem that is configured for error correction, data compression, and hardware flow control. Use SET MODEM TYPE NONE for direct serial, connections. Use SET MODEM TYPE USER-DEFINED to use a type of modem that is not built in to Kermit, and then use SET MODEM CAPABILITIES, SET MODEM, DIAL-COMMAND, and SET MODEM COMMAND to tell Kermit how to configure and control it.
SET MODEM CAPABILITIES list
Use this command for changing Kermit's idea of your modem's capabilities, for example, if your modem is supposed to have built-in error correction but in fact does not. Also use this command to define the capabilities of a USER-DEFINED modem. Capabilities are:
AT AT-commands
DC data-compression
EC error-correction
HWFC hardware-flow
ITU v25bis-commands
SWFC software-flow
KS kermit-spoof
SB speed-buffering
TB Telebit
SET MODEM CARRIER-WATCH { AUTO, ON, OFF }
Synonym for SET CARRIER-WATCH.
SET MODEM COMPRESSION { ON, OFF }
Enables/disables the modem's data compression feature, if any.
SET MODEM DIAL-COMMAND text
The text replaces Kermit's built-in modem dialing command. It must include '%s' (percent s) as a place-holder for the telephone numbers given in your DIAL commands.
SET MODEM ERROR-CORRECTION { ON, OFF }
Enables/disables the modem's error-correction feature, if any.
SET MODEM ESCAPE-CHARACTER number
Numeric ASCII value of modem's escape character, e.g. 43 for '+'. For Hayes-compatible modems, Kermit uses three copies, e.g. "+++".
SET MODEM FLOW-CONTROL {AUTO, NONE, RTS/CTS, XON/XOFF}
Selects the type of local flow control to be used by the modem.
SET MODEM HANGUP-METHOD { MODEM-COMMAND, RS232-SIGNAL, DTR }
How hangup operations should be done. MODEM-COMMAND means try to escape back to the modem's command processor and give a modem-specific hangup command. RS232-SIGNAL means turn off the DTR signal. DTR is a synonym for RS232-SIGNAL.
SET MODEM KERMIT-SPOOF {ON, OFF}
If the selected modem type (e.g. Telebit Trailblazer) supports the Kermit protocol directly, use this command to turn its Kermit protocol function on or off.
SET MODEM MAXIMUM-SPEED number
Specify the maximum interface speed for the modem.
SET MODEM NAME text
Descriptive name for a USER-DEFINED modem.
SET MODEM SPEAKER {ON, OFF}
Turns the modem's speaker on or off during dialing.
SET MODEM SPEED-MATCHING {ON, OFF}
ON means that C-Kermit changes its serial interface speed to agree with the speed reported by the modem's CONNECT message, if any. OFF means Kermit should not change its interface speed.
SET MODEM VOLUME {LOW, MEDIUM, HIGH}
Selects the desired modem speaker volume for when the speaker is ON.
SET MODEM COMMAND commands are used to override built-in modem commands for each modem type, or to fill in commands for the USER-DEFINED modem type. Omitting the optional [ text ] restores the built-in modem-specific command, if any:
SET MODEM COMMAND AUTOANSWER {ON, OFF} [ text ]
Modem commands to turn autoanswer on and off.
SET MODEM COMMAND COMPRESSION {ON, OFF} [ text ]
Modem commands to turn data compression on and off.
SET MODEM COMMAND ERROR-CORRECTION {ON, OFF} [ text ]
Modem commands to turn error correction on and off.
SET MODEM COMMAND HANGUP [ text ]
Command that tells the modem to hang up the connection.
SET MODEM COMMAND IGNORE-DIALTONE [ text ]
Command that tells the modem not to wait for dialtone before dialing.
SET MODEM COMMAND INIT-STRING [ text ]
The 'text' is a replacement for C-Kermit's built-in initialization command for the modem.
SET MODEM COMMAND PREDIAL-INIT [ text ]
A second INIT-STRING that is to be sent to the modem just prior to dialing.
SET MODEM COMMAND HARDWARE-FLOW [ text ]
Modem command to enable hardware flow control (RTS/CTS) in the modem.
SET MODEM COMMAND SOFTWARE-FLOW [ text ]
Modem command to enable local software flow control (Xon/Xoff) in modem.
SET MODEM COMMAND SPEAKER { ON, OFF } [ text ]
Modem command to turn the modem's speaker on or off.
SET MODEM COMMAND NO-FLOW-CONTROL [ text ]
Modem command to disable local flow control in the modem.
SET MODEM COMMAND PULSE [ text ]
Modem command to select pulse dialing.
SET MODEM COMMAND TONE [ text ]
Modem command to select tone dialing.
SET MODEM COMMAND VOLUME { LOW, MEDIUM, HIGH } [ text ]
Modem command to set the modem's speaker volume.
SET MOUSE ACTIVATE
(Windows and OS/2 only)
Syntax: SET MOUSE ACTIVATE { ON, OFF }
Enables or disables the mouse in Connect mode. Default is ON
SET MOUSE BUTTON
(Windows and OS/2 only)
Syntax: SET MOUSE BUTTON number key-modifier action [ text ]
where: number is the mouse button number, 1, 2, or 3; key-modifier denotes modifier keys held down during the mouse event: ALT, ALT-SHIFT, CTRL, CTRL-ALT CTRL-ALT-SHIFT, CTRL-SHIFT, SHIFT, NONE; action is the mouse action, CLICK, DRAG, or DOUBLE-CLICK.

The text has exactly the same properties as the text from the SET KEY command — it can be a character, a string, one or more Kverbs, a macro invoked as a Kverb, or any combination of these. Thus, anything that can be assigned to a key can also be assigned to the mouse — and vice versa. If the text is omitted, the action will be ignored. Examples:

SET MOUSE BUTTON 1 NONE DOUBLE \KmouseCurPos
SET MOU B 2 SHIFT CLICK help\13
DRAG operations perform a "mark mode" selection of Text. You should assign only the following actions to drag operations
\Kdump Copy marked text to printer (or file)
\Kmarkcopyclip Copy marked text to PM Clipboard
\Kmarkcopyhost Copy marked text direct to Host
\Kmousemark Mark text, no copy operation performed
The following Kverb is only for use with the mouse:
 \KmouseCurPos
which represents the mouse-directed terminal cursor feature.
SET MOUSE CLEAR
Restores all mouse events to their default definitions
Button 1 Ctrl-Click Kverb: \Kmouseurl
Button 1 Double-Click Kverb: \Kmousecurpos
Button 1 Drag Kverb: \Kmarkcopyclip
Button 1 Alt-Drag Kverb: \Kmarkcopyclip_noeol
Button 1 Ctrl-Drag Kverb: \Kmarkcopyhost
Button 1 Ctrl-Alt-Drag Kverb: \Kmarkcopyhost_noeol
Button 1 Ctrl-Shift-Drag Kverb: \Kdump
Button 2 Double-Click Kverb: \Kpaste
Button 2 Drag Kverb: \Kmarkcopyhost
Button 2 Alt-Drag Kverb: \Kmarkcopyhost_noeol
Button 3 Double-Click Kverb: \Kpaste
Wheel Up Kverb: \Kupone
Wheel Ctrl+Up Kverb: \Kupscn
Wheel Down Kverb: \Kdnone
Wheel Ctrl+Down Kverb: \Kdnscn
SET MOUSE REPORTING
(Windows and OS/2 only)
Syntax: SET MOUSE REPORTING { DISABLED, ENABLED, OVERRIDE }
Default: OVERRIDE
Configures sending of mouse reports to the remote host when an application requests them. The options are:
Disabled Applications can not request mouse reports and reports will not be sent.
Enabled Applications can request mouse reports. Reports will only be sent for mouse events that have no action in C-Kermit. To allow an event (eg, Ctrl+Click) to be reported, map it to \Kignore. For example: set mouse button 1 ctrl click \Kignore
Override Applications can request mouse reports. All mouse events will be sent to the remote application regardless of what action it is set to perform in C-Kermit. For example, if right mouse click is set to \Kpaste this won't occur when an application requests mouse reporting - instead the right click will be sent to the application.
SET MOUSE WHEEL
(Windows and OS/2 only)
Syntax: SET MOUSE WHEEL direction key-modifier [ text ]
where:
  • direction is the scrolling direction - UP for scrolling away from you, DOWN for scrolling towards you;
  • key-modifier denotes modifier keys held down during the mouse event: ALT, ALT‑SHIFT, CTRL, CTRL‑ALT, CTRL‑ALT‑SHIFT, CTRL‑SHIFT, SHIFT, NONE.
The text has exactly the same properties as the text from the SET KEY command — it can be a character, a string, one or more Kverbs, a macro invoked as a Kverb, or any combination of these. Thus, anything that can be assigned to a key can also be assigned to the mouse — and vice versa. If the text is omitted, the action will be ignored. Examples:
SET MOUSE WHEEL UP CTRL \Kupscn
SET MOUSE WHEEL DOWN ALT \Kdnarr
SET NETWORK DIRECTORY
Syntax: SET NETWORK DIRECTORY [ file [ file [ ... ] ] ]
Specifies the name(s) of zero or more network directory files, similar to dialing directories (HELP DIAL for details). The general format of a network directory entry is:
name network-type address [ network-specific-info ]
For TCP/IP, a directory looks like this:
name tcp/ip ip-hostname-or-address [ socket ]
optionally followed by a comment that begins with " # " or " ; ".

You can have multiple network directories and you can have multiple entries with the same name. SET HOST name and TELNET name commands look up the name in the directory and, if found, fill in the additional items from the entry, and then try all matching entries until one succeeds.

SET NETWORK TYPE
Syntax: SET NETWORK TYPE { COMMAND, PIPE, PSEUDOTERMINAL, TCP/IP }
Select the type of network to be used with SET HOST connections:
COMMAND Make a connection through an external command
PIPE (Unix only) Make a connection through a pipe
PSEUDOTERMINAL (Unix only) Make a connection through a pseudoterminal
SET NETWORK TYPE TCP/IP Use C-Kermit's built-in support for TCP/IP and Telnet, Rlogin, etc.
Also see SET HOST, TELNET, RLOGIN.
SET OUTPUT PACING
Syntax: SET OUTPUT PACING number
How many milliseconds to pause after sending each OUTPUT character, normally 0.
SET OUTPUT SPECIAL-ESCAPES
Syntax: SET OUTPUT SPECIAL-ESCAPES { ON, OFF }
Whether to process the special OUTPUT-only escapes \B, \L, and \N. Normally ON (they are processed). See OUTPUT.
SET OPTIONS
Syntax: SET OPTIONS command [ switches ]
For use with commands that have switches; sets the default switches for the given command. Type SET OPTIONS ? for a list of amenable commands (at this writing they are DELETE, DIRECTORY, PURGE, and TYPE). You can but the desired SET OPTIONS commands in your C-Kermit initialization file so they take effect every time you start C-Kermit.
SET PARITY
Syntax: SET PARITY [ HARDWARE ] { parity-type }
For serial-port and modem connections when communication medium or the other computer uses the 8th bit of each byte for data or for error checking, explained HERE.
SET PARITY NONE
Chooses 8 data bits and no parity.
SET PARITY { EVEN, ODD, MARK, SPACE }
Chooses 7 data bits plus the indicated kind of parity. Forces 8th-bit prefixing during file transfer.
SET PARITY HARDWARE { EVEN, ODD }
Chooses 8 data bits plus the indicated kind of parity.
Also see SET TERMINAL BYTESIZE, SET SERIAL, and SET STOP-BITS.
SET PRINTER
Syntax: SET PRINTER [ { |command, filename } ]
Specifies the command (such as "|lpr") or filename to be used by the PRINT command. If a filename is given, each PRINT command appends to the given file. If the SET PRINTER argument contains spaces, it must be enclosed in braces, e.g. "set printer {| lpr -Plaser}". If the argument is omitted the default value is restored. SHOW PRINTER lists the current printer. See PRINT for further info.
SET PREFIXING
Syntax: SET PREFIXING { ALL, CAUTIOUS, MINIMAL }
File transfer: Selects the degree of control-character prefixing when sending files. If sending files always fails, this is the first thing to look at. Also see SET CONTROL-CHARACTER.
SET PROMPT
Syntax: SET PROMPT [ text ]
C-Kermit's interactive command prompt is normally:
(your-current-directory) C-Kermit>
for example:
(~/fdc/beta06/) C-Kermit>
In Windows it is:
(your-current-directory) CKW>
(CKW is C-Kermit for Windows). You can use SET PROMPT to change it to whatever you want. The text can contain backslash codes for special effects, including variables like \v(dir) to show current directory (as in the example) or \v(time) the current time of day, or \v(host) which is the name of your computer. Surround text by { } to preserve leading or trailing spaces. If text omitted, prompt reverts to the format shown above.
SET PROTOCOL
Syntax: SET PROTOCOL { KERMIT, XMODEM, YMODEM, ZMODEM } [ s1 s2 s3 s4 s5 s6 ]
Selects protocol to use for transferring files. s1 and s2 are commands to output prior to SENDing with this protocol, to automatically start the RECEIVE process on the other end in binary or text mode, respectively. If the protocol is KERMIT, s3 is the command to start a Kermit server on the remote computer, and there are no s4-s6 commands. Otherwise, s3 and s4 are commands used on this computer for sending files with this protocol in binary or text mode, respectively; s5 and s6 are the commands for receiving files with this protocol. Use "%s" in any of these strings to represent the filename(s). Use { braces } if any command contains spaces. Examples:
    set proto kermit {kermit -YQir} {kermit -YQTr} {kermit -YQx}
    set proto ymodem rb {rb -a} {sb %s} {sb -a %s} rb rb
External protocols require REDIRECT and external file transfer programs that use redirectable standard input/output.

SHOW PROTOCOL displays the current settings.

SET QUIET
Syntax: SET QUIET {ON, OFF}
Normally OFF. ON disables most information messages during interactive operation.
SET RECEIVE
Syntax: SET RECEIVE parameter value
Specifies parameters for inbound packets:
SET RECEIVE CHARACTER-SET { AUTOMATIC, MANUAL }
Whether to automatically switch to an appropriate file-character set based on the transfer character-set announcer, if any, of an incoming text file. AUTOMATIC by default. Also see HELP ASSOCIATE.
SET RECEIVE CONTROL-PREFIX number
ASCII value of prefix character used for quoting control characters in packets that Kermit receives, normally 35 (number sign). Don't change this unless something is wrong with the other Kermit program.
SET RECEIVE END-OF-PACKET number
ASCII value of control character that terminates incoming packets, normally 13 (carriage return).
SET RECEIVE IGNORE-CHARACTER number
ASCII value of character to be discarded when receiving packets, such as line folding characters.
SET RECEIVE MOVE-TO [ directory ]
If a directory name is specified, then every file that is received successfully is moved to the given directory immediately after reception is complete. Omit the directory name to remove any previously set move-to directory.
SET RECEIVE PACKET-LENGTH number
Maximum length packet the other Kermit should send.
SET RECEIVE PADDING number
Number of prepacket padding characters to ask for (normally 0).
SET RECEIVE PAD-CHARACTER number
ASCII value of control character to use for padding (normally 0).
SET RECEIVE PATHNAMES {OFF, ABSOLUTE, RELATIVE, AUTO}
If a recognizable path (directory, device) specification appears in an incoming filename, strip it OFF before trying to create the output file. Otherwise, then if any of the directories in the path don't exist, Kermit tries to create them, relative to your current or download directory, or absolutely, as specified. RELATIVE means force all incoming names, even if they are absolute, to be relative to your current or download directory. AUTO, which is the default, means RELATIVE if the file sender indicates in advance that this is a recursive transfer, otherwise OFF.
SET RECEIVE PAUSE number
Milliseconds to pause between packets, normally 0.
SET RECEIVE PERMISSIONS { ON, OFF }
Whether to copy file permissions from inbound Attribute packets.
SET RECEIVE RENAME-TO [ template ]
If a template is specified, then every file that is received successfully is renamed according to the given template immediately after it is received. The template should include variables like \v(filename) or \v(filenumber). Omit the template to remove any template previously set.
SET RECEIVE START-OF-PACKET number
ASCII value of character that marks start of inbound packet.
SET RECEIVE TIMEOUT number
Number of seconds the other Kermit should wait for a packet before sending a NAK or retransmitting.
SET RELIABLE
Syntax: SET RELIABLE { ON, OFF, AUTO }
Tells Kermit whether its connection is reliable. Default is AUTO, meaning Kermit should figure it out for itself. In general, network connections are reliable; modem connections with hardware flow control and error corrections are reliable; others might not be.
SET RENAME
Syntax: SET RENAME parameter value
SET RENAME LIST { ON, OFF }
Tells whether the RENAME command should list its results by default.
SET RENAME COLLISION { FAIL, PROCEED, OVERWRITE }
Establishes the default action when renaming a file would destroy an existing file.
See RENAME.
SET REPEAT
Syntax: SET REPEAT { COUNTS { ON, OFF }, PREFIX code }
SET REPEAT COUNTS turns the repeat-count compression mechanism ON and OFF for sending files. The default is ON. SET REPEAT PREFIX code sets the repeat-count prefix character to the given code. The default is 126 (tilde).
SET RETRY-LIMIT
Syntax: SET RETRY number
In Kermit protocol file transfers: How many times to retransmit a particular packet before giving up; 0 = no limit.
SET ROOT
Syntax: SET ROOT directoryname
Sets the root for file access to the given directory and disables access to system and shell commands and external programs. Once this command is given, no files or directories outside the tree rooted by the given directory can be opened, read, listed, deleted, renamed, or accessed in any other way. This command can not be undone by a subsequent SET ROOT command. Primarily for use with server mode, to restrict access of clients to a particular directory tree, and with an Internet Kermit Server, for the same reason. Synonym: CHROOT.
SET SCRIPT
Syntax: SET SCRIPT ECHO { OFF, ON }
Disables/Enables echoing of SCRIPT command operation.
SET SEND
Syntax: SET SEND parameter value
File transfer: parameters for the SEND command affecting outbound files or packets:
SET SEND BACKUP { ON, OFF }
Tells whether to include backup files when sending file groups. Backup files are those produced by Kermit, EMACS, etc, when creating a new file that has the same name as an existing file. A backup file has a version appended to its name, e.g. somefile.txt.~23~. ON is the default, meaning don't exclude backup files. Use OFF to exclude backup files from group transfers. This command applies to all subsequent send commands, whereas SET SEND /NOBACKUPFILES applies only to the SEND command for which it was given.
SET SEND CHARACTER-SET { AUTOMATIC, MANUAL }
Whether to automatically switch to an appropriate file-character when a SET TRANSFER CHARACTER-SET command is given, or vice versa. AUTOMATIC by default. Also see ASSOCIATE.
SET SEND CONTROL-PREFIX number
ASCII value of prefix character used for quoting control characters in packets that Kermit sends, normally 35 (number sign). See THIS TABLE for ASCII character values.
SET SEND DOUBLE-CHARACTER number
ASCII value of character to be doubled when sending packets, such as an X.25 PAD escape character.
SET SEND END-OF-PACKET number
ASCII value of control character to terminate an outbound packet, normally 13 (carriage return).
SET SEND MOVE-TO [ directory ]
If a directory name is specified, then every file that is sent successfully is moved to the given directory immediately after it is sent. Omit the directory name to remove any previously set move-to directory.
SET SEND PACKET-LENGTH number
Maximum length packet to send, even if other Kermit asks for longer ones. This command can not be used to force packets to be sent that are longer than the length requested by the receiver. Use this command only to force shorter ones.
SET SEND PADDING number
Number of prepacket padding characters to send.
SET SEND PAD-CHARACTER number
ASCII value of control character to use for padding. The default is 0 (no padding).
SET SEND PATHNAMES {OFF, ABSOLUTE, RELATIVE}
Include the path (device, directory) portion with the file name when sending it as specified; ABSOLUTE means to send the whole pathname, RELATIVE means to include the pathname relative to the current directory. Applies to the actual filename, not to the "as-name". The default is OFF.
SET SEND PAUSE number
Milliseconds to pause between packets, normally 0.
SET SEND PERMISSIONS { ON, OFF }
Whether to include file permissions in outbound Attribute packets. Normally ON.
SET SEND RENAME-TO [ template ]
If a template is specified, then every file that is sent successfully is renamed according to the given template immediately after it is sent. The template should include variables like \v(filename) or \v(filenumber). Omit the template to remove any template previously set.
SET SEND START-OF-PACKET number
ASCII value of character to mark start of outbound packet. Normally 1 (Ctrl-A, "start of heading").
SET SEND TIMEOUT number [ { DYNAMIC [ min max ] ], FIXED } ]
Number of seconds to wait for a packet before sending NAK or retransmitting. Include the word DYNAMIC after the number in the SET SEND TIMEOUT command to have Kermit compute the timeouts dynamically throughout the transfer based on the packet rate. Include the word FIXED to use the given number throughout the transfer. DYNAMIC is the default. After DYNAMIC you may include minimum and maximum values. SET SEND TIMEOUT -1 FIXED means no timeouts (not recommended!).
SET SERIAL
Syntax: SET SERIAL dps
This command lets you set three differnet serial-port parameters at once: d is data length in bits, 7 or 8; p is first letter of parity; s is stop bits, 1 or 2. Parities are Even, Odd, Mark, Space, and None.
Examples: "set serial 7e1", "set serial 8n1".
SET SERVER
Syntax: SET SERVER parameter value
SET SERVER CD-MESSAGE { ON,OFF }
Tells whether the server, after successfully executing a REMOTE CD command, should send the contents of the new directory's READ.ME (or similar) file to your screen.
SET SERVER CD-MESSAGE FILE name
Tells the name of the file to be displayed as a CD-MESSAGE, such as READ.ME (SHOW SERVER tells the current CD-MESSAGE FILE name). To specify more than one filename to look for, use {{name1}{name2}..}. Synonym: SET CD MESSAGE FILE .
SET SERVER DISPLAY { ON,OFF }
Tells whether local-mode C-Kermit during server operation should put a file transfer display on the screen. Default is OFF.
SET SERVER GET-PATH [ directory [ directory [ ... ] ] ]
Tells the C-Kermit server where to look for files whose names it receives from client GET commands when the names are not fully specified pathnames. Default is no GET-PATH, so C-Kermit looks only in its current directory.
SET SERVER IDLE-TIMEOUT seconds
Idle time limit while in server mode, 0 for no limit. NOTE: SERVER IDLE-TIMEOUT and SERVER TIMEOUT are mutually exclusive.
SET SERVER KEEPALIVE { ON,OFF }
Tells whether C-Kermit should send "keepalive" packets while executing REMOTE HOST commands, which is useful in case the command takes a long time to produce any output and therefore might cause the operation to time out. ON by default; turn it OFF if it causes trouble with the client or slows down the server too much.
SET SERVER LOGIN [ username [ password [ account ] ] ]
Sets up a username and optional password which must be supplied before the server will respond to any commands other than REMOTE LOGIN. The account is ignored. If you enter SET SERVER LOGIN by itself, then login is no longer required. Only one SET SERVER LOGIN command can be in effect at a time; C-Kermit does not support multiple user/password pairs.
SET SERVER TIMEOUT seconds
Server command wait timeout interval, how often the C-Kermit server issues a NAK while waiting for a command packet. Specify 0 for no NAKs at all. Default is 0.
SET SESSION-LOG
Syntax:
SET SESSION-LOG { BINARY, DEBUG, NULL-PADDED, TEXT, TIMESTAMPED-TEXT }
If BINARY, record all CONNECT characters in session log. If TEXT, strip out CR, NUL, and XON/XOFF characters. DEBUG is the same as BINARY but also includes Telnet negotiations on TCP/IP connections.
SET SLEEP
Syntax: SET SLEEP CANCELLATION { ON, OFF }
Tells whether SLEEP (PAUSE) or WAIT commands can be interrupted from the keyboard; ON by default.
SET SPEED
Syntax: SET SPEED number
Speed for serial-port communication device specified in most recent SET LINE command, in bits per second. Type SET SPEED ? for a list of possible speeds; these are the speeds C-Kermit knows about, but there is no way to know if they can actually be used on your computer's hardware, so if (say) SET SPEED 11500000 fails, try another speed. This command has no effect on your login's controlling terminal.
SET SSH (Unix, VMS)
Syntax: SET SSH COMMAND command
Specifies the shell command to be used to start the external ssh client and make an SSH connection. By default it is "ssh -e none" (ssh with no escape character).
SET SSH (Windows)
Syntax: SET SSH parameter value
SET SSH AGENT-FORWARDING { ON, OFF }
If an authentication agent is in use, setting this value to ON results in the connection to the agent being forwarded to the remote computer. The default is OFF.
SET SSH CHECK-HOST-IP { ON, OFF }
Specifies whether the remote host's ip-address should be checked against the matching host key in the known_hosts file. This can be used to determine if the host key changed as a result of DNS spoofing. The default is ON.
SET SSH COMPRESSION { ON, OFF }
Specifies whether compression will be used. The default is ON.
SET SSH DYNAMIC-FORWARDING { ON, OFF }
Specifies whether Kermit is to act as a SOCKS4 service on port 1080 when connected to a remote host via SSH. When Kermit acts as a SOCKS4 service, it accepts connection requests and forwards the connections through the remote host. The default is OFF.
SET SSH GATEWAY-PORTS { ON, OFF }
Specifies whether Kermit should act as a gateway for forwarded connections received from the remote host. The default is OFF.
SET SSH GSSAPI DELEGATE-CREDENTIALS { ON, OFF }
Specifies whether Kermit should delegate GSSAPI credentials to the remote host after authentication. Delegating credentials allows the credentials to be used from the remote host. The default is OFF.
SET SSH HEARTBEAT-INTERVAL seconds
Specifies a number of seconds of idle time after which an IGNORE message will be sent to the server. This pulse is useful for maintaining connections through HTTP Proxy servers and Network Address Translators. The default is OFF (0 seconds).
SET SSH IDENTITY-FILE filename [ filename [ ... ] ]
Specifies one or more files from which the user's authorization identities (private keys) are to be read when using public key authorization. These are files used in addition to the default files: \v(appdata)ssh/identity V1 RSA \v(appdata)ssh/id_rsa V2 RSA \v(appdata)ssh/id_dsa V2 DSA
SET SSH PRIVILEGED-PORT { ON, OFF }
Specifies whether a privileged port (less than 1024) should be used when connecting to the host. Privileged ports are not required except when using SSH V1 with Rhosts or RhostsRSA authorization. The default is OFF.
SET SSH QUIET { ON, OFF }
Specifies whether all messages generated in conjunction with SSH protocols should be suppressed. The default is OFF.
SET SSH STRICT-HOST-KEY-CHECK { ASK, ON, OFF }
Specifies how Kermit should behave if the the host key check fails. When strict host key checking is OFF, the new host key is added to the protocol-version-specific user-known-hosts-file. When strict host key checking is ON, the new host key is refused and the connection is dropped. When set to ASK, Kermit prompt you to say whether the new host key should be accepted. The default is ASK.

Strict host key checking protects you against Trojan horse attacks. It depends on you to maintain the contents of the known-hosts-file with current and trusted host keys.

SET SSH USE-OPENSSH-CONFIG { ON, OFF }
Specifies whether Kermit should parse an OpenSSH configuration file after applying Kermit's SET SSH commands. The configuration file would be located at \v(home)ssh/ssh_config. The default is OFF.
SET SSH V2 AUTHENTICATION { GSSAPI, KEYBOARD-INTERACTIVE, PASSWORD, PUBKEY } [ ... ]
Specifies an unordered list of SSH version 2 authentication methods to be used when connecting to the remote host. The default list is:
publickey keyboard-interactive password none
SET SSH V2 AUTO-REKEY { ON, OFF }
Specifies whether Kermit automatically issues rekeying requests once an hour when SSH version 2 in in use. The default is ON.
SET SSH V2 CIPHERS { 3DES-CBC, AES128-CBC, AES192-CBC, AES256-CBC, AES128-CTR, AES192-CTR, AES256-CTR, AES128-GCM@OPENSSH.COM, AES256-GCM@OPENSSH.COM, CHACHAE20-POLY1305 }
Specifies an ordered list of SSH version ciphers to be used to encrypt the established connection. The default list is:
aes256-gcm@openssh.com aes128-gcm@openssh.com aes256-ctr aes192-ctr aes128-ctr aes256-cbc aes192-cbc aes128-cbc 3des-cbc
SET SSH V2 GLOBAL-KNOWN-HOSTS-FILE filename
Specifies the location of the system-wide known-hosts file. The default location is:
\v(common)ssh/known_hosts2
SET SSH V2 HOSTKEY-ALGORITHMS { ECDSA-SHA2-NISTP256, ECDSA-SHA2-NISTP384, ECDSA-SHA2-NISTP521, RSA-SHA2-256, RSA-SHA2-512, SSH-DSS, SSH-ED25519, SSH-RSA }
Specifies an ordered list of hostkey algorithms to be used to verify the identity of the host. The default list is
ssh-ed25519 ecdsa-sha2-nistp521 ecdsa-sha2-nistp384 ecdsa-sha2-nistp256 rsa-sha2-512 rsa-sha2-256 ssh-rsa
SET SSH V2 KEY-EXCHANGE-METHODS { CURVE25519-SHA256, CURVE25519-SHA256@LIBSSH.ORG, DIFFIE-HELLMAN-GROUP1-SHA1, DIFFIE-HELLMAN-GROUP14-SHA1, DIFFIE-HELLMAN-GROUP14-SHA256, DIFFIE-HELLMAN-GROUP16-SHA512, DIFFIE-HELLMAN-GROUP18-SHA512, DIFFIE-HELLMAN-GROUP-EXCHANGE-SHA1, DIFFIE-HELLMAN-GROUP-EXCHANGE-SHA256, ECDH-SHA2-NISTP256, ECDH-SHA2-NISTP384, ECDH-SHA2-NISTP521 }
Specifies an ordered list of Key Exchange Methods to be used to generate per-connection keys. The default list is:
curve25519-sha256 curve25519-sha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group18-sha512 diffie-hellman-group16-sha512 diffie-hellman-group-exchange-sha256 diffie-hellman-group14-sha256 diffie-hellman-group14-sha1 diffie-hellman-group1-sha1 ext-info-c
SET SSH V2 MACS { HMAC-MD5, HMAC-SHA1-ETM@OPENSSH.COM, HMAC-SHA2-256, HMAC-SHA2-256-ETM@OPENSSH.COM, HMAC-SHA2-512, HMAC-SHA2-512-ETM@OPENSSH.COM, NONE }
Specifies an ordered list of Message Authentication Code algorithms to be used for integrity protection of the established connection. The default list is:
hmac-sha2-256-etm@openssh.com hmac-sha2-512-etm@openssh.com hmac-sha1-etm@openssh.com hmac-sha2-256 hmac-sha2-512 hmac-sha1
SET SSH V2 USER-KNOWN-HOSTS-FILE filename
Specifies the location of the user-known-hosts file. The default location is:
\v(appdata)ssh/known_hosts2
SET SSH VERBOSE level
Specifies how many messages should be generated by the OpenSSH engine. The level can range from 0 to 7. The default value is 2.
SET SSH VERSION { 2, AUTOMATIC }
Obsolete: retained only for backwards compatibility. Only SSH Version 2 is supported now.
SET SSH X11-FORWARDING { ON, OFF }
Specifies whether X Windows System Data is to be forwarded across the established SSH connection. The default is OFF. When ON, the DISPLAY value is either set using the SET TELNET ENV DISPLAY command or read from the DISPLAY environment variable.
SET SSH XAUTH-LOCATION filename
Specifies the location of the xauth executable (if provided with the X11 Server software.)
SET STOP-BITS
Syntax: SET STOP-BITS { 1, 2 }
Number of stop bits to use on serial-port and/or modem connections connections, normally 1.
SET STREAMING
Syntax: SET STREAMING { ON, OFF, AUTO }
Tells Kermit whether streaming protocol can be used during Kermit file transfers. Default is AUTO, meaning use it if connection is reliable, e.g. an Internet connection.
SET SUSPEND
Syntax: SET SUSPEND { ON, OFF }
Disable the SUSPEND command, suspend signals, and (on Unix) esc-charZ (suspend) during CONNECT.
SET TAKE
Syntax: SET TAKE parameter value
Controls behavior of TAKE command:
SET TAKE ECHO { ON, OFF }
Tells whether commands read from a TAKE file should be displayed on the screen (if so, each command is shown at the time it is read, and labeled with a line number).
SET TAKE ERROR { ON, OFF }
Tells whether a TAKE command file should be automatically terminated when a command fails. This setting is local to the current command file, and inherited by subordinate command files.
SET TCP
Syntax: SET TCP parameter value
SET TCP ADDRESS ip-address
This allows a specific IP Address on a multihomed host to be used instead of allowing the TCP/IP stack to choose. This may be necessary when using authentication or listening for an incoming connection. Specify no to remove the preference.
SET TCP KEEPALIVE { ON, OFF }
Setting this ON might help to detect broken connections more quickly. (default is ON.)
SET TCP LINGER { ON [ timeout ], OFF }
Setting this ON ensures that a connection doesn't close before all outstanding data has been transferred and acknowledged. The timeout is measured in 10ths of milliseconds. The default is ON with a timeout of 0.
SET TCP NODELAY { ON, OFF }
ON means send short TCP packets immediately rather than waiting to accumulate a bunch of them before transmitting (Nagle Algorithm). (default is OFF.)
SET TCP RECVBUF number
SET TCP SENDBUF number
TCP receive and send buffer sizes. (default is -1, use system defaults.)
These items let you tune TCP networking performance on a per-connection basis by adjusting parameters you normally would not have access to. You should use these commands only if you feel that the TCP/IP protocol stack Kermit is using is giving you inadequate performance, and then only if you understand the concepts (see, for example, the Comer TCP/IP books), and then at your own risk. These settings are displayed by SHOW NETWORK. Not all options are necessarily available in all Kermit versions; it depends on the underlying TCP/IP services.

The following TCP and/or IP parameter(s) may also be changed:

SET TCP REVERSE-DNS-LOOKUP { AUTO, ON, OFF }
Tells Kermit whether to perform reverse DNS lookup on TCP/IP connections so Kermit can determine the actual hostname of the host it is connected to, which is useful for connections to host pools, and is required for Kerberos connections to host pools and for incoming connections. If the other host does not have a DNS entry, the reverse lookup could take a long time (minutes) to fail, but the connection will still be made. Turn this option OFF for speedier connections if you do not need to know exactly which host you are connected to and you are not using Kerberos. AUTO, the default, means the lookup is done on hostnames, but not on numeric IP addresses unless Kerberos support is installed.
SET TCP DNS-SERVICE-RECORDS {ON, OFF}
Tells Kermit whether to try to use DNS SRV records to determine the host and port number upon which to find an advertised service. For example, if a host wants regular Telnet connections redirected to some port other than 23, this feature allows Kermit to ask the host which port it should use. Since not all domain servers are set up to answer such requests, this feature is OFF by default.
SET TCP HTTP-PROXY [hostname or ip-address[:port]]
If a hostname or ip-address is specified, Kermit will use the Proxy server when attempting outgoing connections. If no hostname or ip-address is specified, any previously specified Proxy server will be removed. If no port number is specified, the "http" service will be used.
SET TELNET
Syntax: SET TELNET parameter value
For TCP/IP TELNET connections, which are in NVT (Network Virtual Terminal ASCII) mode by default:
SET TELNET BINARY-TRANSFER-MODE { ON, OFF }
When ON (OFF by default) and BINARY negotiations are not REFUSED Kermit will attempt to negotiate BINARY mode in each direction before the start of each file transfer. After the transfer is complete BINARY mode will be restored to the pre-transfer state.
SET TELNET BINARY-TRANSFER-MODE { ON, OFF }
Set this command to ON if you want to force Kermit to negotiate Telnet Binary in both directions when performing file transfers. Default is OFF. Alias SET TELNET BINARY-XFER-MODE.
SET TELNET BUG AUTH-KRB5-DES { ON, OFF }
Default is ON. Disable this bug to enable the use of encryption types other than DES such as 3DES or CAST-128 when the Kerberos 5 session key is longer than 8 bytes.
SET TELNET BUG BINARY-ME-MEANS-U-TOO { ON, OFF }
Set this to ON to try to overcome TELNET binary-mode misnegotiations by Kermit's TELNET partner.
SET TELNET BUG BINARY-U-MEANS-ME-TOO { ON, OFF }
Set this to ON to try to overcome TELNET binary-mode misnegotiations by Kermit's TELNET partner.
SET TELNET BUG INFINITE-LOOP-CHECK { ON, OFF }
Set this to ON to prevent Kermit from responding to a telnet negotiation sequence that enters an infinite loop. The default is OFF because this should never occur.
SET TELNET BUG SB-IMPLIES-WILL-DO { ON, OFF }
Set this to ON to allow Kermit to respond to telnet sub-negotiations if the peer forgets to respond to WILL with DO or to DO with WILL.
SET TELNET DEBUG { ON, OFF }
Set this to ON to display telnet negotiations as they are sent and received.
SET TELNET DELAY-SB { ON, OFF }
When ON, telnet subnegotiation responses are delayed until after all authentication and encryption options are either successfully negotiated or refused. This ensures that private data is protected. When OFF, telnet subnegotiation responses are sent immediately. The default is ON.
SET TELNET ECHO { LOCAL, REMOTE }
Kermit's initial echoing state for TELNET connections, LOCAL by default. After the connection is made, TELNET negotiations determine the echoing.
SET TELNET ENVIRONMENT { variable-name [ value ] }
This feature lets Kermit send the values of certain environment variables to the other computer if it asks for them. The variable-name can be any of the "well-known" variables "USER", "JOB", "ACCT", "PRINTER", "SYSTEMTYPE", or "DISPLAY". Some Telnet servers, if given a USER value in this way, will accept it and therefore not prompt you for user name when you log in. The default values are taken from your environment; use this command to change or remove them. See RFC1572 for details.
SET TELNET LOCATION [ text ]
Location string to send to the Telnet server if it asks. By default this is picked up from the LOCATION environment variable. Give this command with no text to disable this feature.
SET TELNET NEWLINE-MODE { NVT, BINARY-MODE } { OFF, ON, RAW }
Determines how carriage returns are handled on TELNET connections. There are separate settings for NVT (ASCII) mode and binary mode. ON (default for NVT mode) means CRLF represents CR. OFF means CR followed by NUL represents CR. RAW (default for BINARY mode) means CR stands for itself.
SET TELNET PROMPT-FOR-USERID
Specifies a custom prompt to be used when prompting for a userid. Kermit prompts for a userid if the command:
SET LOGIN USERID {}
has been issued prior to a Telnet authentication negotiation for an authentication type that requires the transmission of a name, such as Secure Remote Password.
SET TELNET REMOTE-ECHO { ON, OFF }
Applies only to incoming connections created with:
SET HOST *  /TELNET
This command determines whether Kermit will actually echo characters received from the remote when it has negotiated to do so. The default is ON. Remote echoing may be turned off when it is necessary to read a password with the INPUT command.
SET TELNET TERMINAL-TYPE name
The terminal type to send to the remote TELNET host. If none is given, your local terminal type is sent.
SET TELNET WAIT-FOR-NEGOTIATIONS { ON, OFF }
Each Telnet option must be fully negotiated either On or Off before the session can continue. This is especially true with options that require subnegotiations such as Authentication, Encryption, and Kermit; for proper support of these options Kermit must wait for the negotiations to complete. Of course, Kermit has no way of knowing whether a reply is delayed or not coming at all, and so will wait a minute or more for required replies before continuing the session. If you know that Kermit's Telnet partner will not be sending the required replies, you can set this option of OFF to avoid the long timeouts. Or you can instruct Kermit to REFUSE specific options with the SET TELOPT command.
SET TELOPT
Syntax: SET TELOPT [ { /CLIENT, /SERVER } ] option
{ ACCEPTED, REFUSED, REQUESTED, REQUIRED }
[ { ACCEPTED, REFUSED, REQUESTED, REQUIRED } ]
SET TELOPT lets you specify policy requirements for Kermit's handling of Telnet option negotiations. Setting an option REQUIRED causes Kermit to offer the option to the peer and disconnect if the option is refused. REQUESTED causes Kermit to offer an option to the peer. ACCEPTED results in no offer but Kermit will attempt to negotiate the option if it is requested. REFUSED instructs Kermit to refuse the option if it is requested by the peer.

Some options are negotiated in two directions and accept separate policies for each direction; the first keyword after the option applies to Kermit itself, the second applies to Kermit's Telnet partner; if the second keyword is omitted, an appropriate (option-specific) default is applied. You can also include a /CLIENT or /SERVER switch to indicate whether the given policies apply when Kermit is the Telnet client or the Telnet server; if no switch is given, the command applies to the client.

Note that some of Kermit's Telnet partners fail to refuse options that they do not recognize and instead do not respond at all. In this case it is possible to use SET TELOPT to instruct Kermit to REFUSE the option before connecting to the problem host, thus skipping the problematic negotiation.

Use SHOW TELOPT to view current Telnet Option negotiation settings. SHOW TELNET displays current Telnet settings.

SET TEMP-DIRECTORY
Syntax: SET TEMP-DIRECTORY [ directory-name ]
Synonym: SET TMP-DIRECTORY
Tells Kermit to use the given directory for creating temporary files. These are used (for example) in FTP downloads and by the CHANGE command. If you don't issue this command, C-Kermit picks a directory automatically based on the operating system and any environment variables you might have set. Use SHOW TEMP-DIRECTORY or SHOW VARIABLE \v(tmpdir) to see Kermit's current temporary directory setting.
SET TERMINAL (Unix, VMS)
Syntax: SET TERMINAL parameter value
SET TERMINAL TYPE ...
This command is not available because this version of Kermit does not include a terminal emulator. Instead, it is a "semitransparent pipe" (or a totally transparent one, if you configure it that way) to the computer or service you have made a connection to. Your console, workstation window, or the terminal emulator or terminal from which you are running Kermit provides the emulation.
SET TERMINAL APC { ON, OFF, NO-INPUT, NO-INPUT-UNCHECKED, UNCHECKED }
Controls execution of Application Program Commands sent by the host while C-Kermit is in CONNECT mode. ON allows execution of "safe" commands and disallows potentially dangerous commands such as DELETE, RENAME, OUTPUT, and RUN. OFF prevents execution of APCs. UNCHECKED allows execution of all APCs. OFF is the default.
SET TERMINAL AUTODOWNLOAD { ON, OFF, ERROR { STOP, CONTINUE } }
Enables/disables automatic switching into file-transfer mode when a valid Kermit or ZMODEM packet of the appropriate type is received during CONNECT mode. Default is OFF.

When TERMINAL AUTODOWNLOAD is ON, the TERMINAL AUTODOWNLOAD ERROR setting tells what to do if an error occurs during a file transfer or other protocol operation initiated by the terminal emulator: STOP (the default) means to remain in command mode so you can see what happened; CONTINUE means to resume the CONNECT session (e.g. so a far-end script can continue its work).

SET TERMINAL BYTESIZE { 7, 8 }
Use 7- or 8-bit characters between Kermit and the remote computer during terminal sessions. The default is 8.
SET TERMINAL CHARACTER-SET remote-cs> [ local-cs ]
Specifies the character set used by the remote host, remote-cs, and the character set used by C-Kermit locally, . If you don't specify the local character set, the current FILE CHARACTER-SET is used. When you specify two different character sets, C-Kermit translates between them during CONNECT. By default, both character sets are TRANSPARENT, and no translation is done.
SET TERMINAL CR-DISPLAY { CRLF, NORMAL }
Specifies how incoming carriage return characters are to be displayed on your screen.
SET TERMINAL DEBUG { ON, OFF }
Turns terminal session debugging on and off. When ON, incoming control characters are displayed symbolically, rather than be taken as formatting commands. SET TERMINAL DEBUG ON implies SET TELNET DEBUG ON.
SET TERMINAL ECHO { LOCAL, REMOTE }
Specifies which side does the echoing during terminal connection.
SET TERMINAL ESCAPE-CHARACTER { ENABLED, DISABLED }
Turns on/off the ability to escape back from CONNECT mode using the SET ESCAPE character. If you disable it, Kermit returns to its prompt only when the connection is closed by the other end. USE WITH EXTREME CAUTION. Also see HELP SET ESCAPE.
SET TERMINAL HEIGHT number
Tells C-Kermit how many rows (lines) are on your CONNECT-mode screen.
SET TERMINAL IDLE-TIMEOUT number
Sets the limit on idle time in CONNECT mode to the given number of seconds. 0 (the default) means no limit.
SET TERMINAL IDLE-ACTION { EXIT, HANGUP, OUTPUT [ text ], RETURN }
Specifies the action to be taken when a CONNECT session is idle for the number of seconds given by SET TERMINAL IDLE-TIMEOUT. The default action is to RETURN to command mode. EXIT exits from Kermit; HANGUP hangs up the connection, and OUTPUT sends the given text to the host without leaving CONNECT mode; if no text is given a NUL (0) character is sent.
SET TERMINAL IDLE-ACTION { TELNET-NOP, TELNET-AYT }
For TELNET connections only: Sends the indicated Telnet protocol message: No Operation (NOP) or "Are You There?" (AYT).
SET TERMINAL LF-DISPLAY { CRLF, NORMAL }
Specifies how incoming linefeed characters are to be displayed on your screen.
SET TERMINAL LOCKING-SHIFT { OFF, ON }
Tells Kermit whether to use Shift-In/Shift-Out (Ctrl-O and Ctrl-N) to switch between 7-bit and 8-bit characters during CONNECT. OFF by default.
SET TERMINAL NEWLINE-MODE { OFF, ON }
Tells whether to send CRLF (Carriage Return and Line Feed) when you type CR (press the Return or Enter key) in CONNECT mode.
SET TERMINAL PRINT { ON, OFF }
Enables and disables host-initiated transparent printing in CONNECT mode.
SET TERMINAL TRIGGER string
Specifies a string that, when detected during any subsequent CONNECT session, is to cause automatic return to command mode. Give this command without a string to cancel the current trigger. See HELP CONNECT for additional information.
SET TERMINAL WIDTH number
Tells Kermit how many columns (characters) are on your CONNECT-mode screen.
Type SHOW TERMINAL to see current terminal settings.
SET TERMINAL (Windows, OS/2)
Syntax: SET TERMINAL parameter value
SET TERMINAL TYPE { ANSI, VT52, VT100, VT102, VT220, VT320, ... }
Selects type type of terminal to emulate. Type SET TERMINAL TYPE ? to see a complete list.
SET TERMINAL ANSWERBACK { OFF, ON }
Disables/enables the ENQ/Answerback sequence (Kermit version term-type).
SET TERMINAL ANSWERBACK MESSAGE
Allows you to specify an extension to the default answerback message.
SET TERMINAL APC { ON, OFF, NO-INPUT, NO-INPUT-UNCHECKED, UNCHECKED }
Controls execution of Application Program Commands sent by the host while Kermit is either in CONNECT mode or processing INPUT commands. ON allows execution of "safe" commands and disallows potentially dangerous ones such as DELETE, RENAME, OUTPUT, and RUN. OFF prevents execution of APCs. UNCHECKED allows execution of all APCs. OFF is the default.
SET TERMINAL ARROW-KEYS { APPLICATION, CURSOR }
Sets the mode for the arrow keys during VT terminal emulation.
SET TERMINAL ATTRIBUTE { BLINK, DIM, PROTECTED, REVERSE, UNDERLINE }
Determines how attributes are displayed in the Terminal window.
SET TERMINAL ATTRIBUTE { BLINK, DIM, REVERSE, UNDERLINE } { ON, OFF }
Determines whether real Blinking, Dim, Reverse, and Underline are used in the terminal display. When BLINK is turned OFF, reverse background intensity is used. When DIM is turned OFF, dim characters appear BOLD. When REVERSE and UNDERLINE are OFF, the colors selected with SET TERMINAL COLOR { REVERSE,UNDERLINE } are used instead. This command affects the entire current screen and terminal scrollback buffer.
SET TERMINAL ATTRIBUTE PROTECTED [ { BOLD, DIM, INVISIBLE, NORMAL, REVERSE, UNDERLINED } ]
Sets the attributes used to represent Protected text in Wyse and Televideo terminal emulations. Any combination of attributes may be used. The default is DIM.)
SET TERMINAL AUTODOWNLOAD { ON, OFF, ERROR { STOP, CONTINUE } }
enables/disables automatic switching into file-transfer mode when a Kermit file transfer has been detected during CONNECT mode or while an INPUT command is active. Default is OFF.

When TERMINAL AUTODOWNLOAD is ON, the TERMINAL AUTODOWNLOAD ERROR setting tells what to do if an error occurs during a file transfer or other protocol operation initiated by the terminal emulator: STOP (the default) means to remain in command mode so you can see what happened; CONTINUE means to resume the CONNECT session (e.g. so a far-end script can continue its work).

SET TERMINAL AUTODOWNLOAD KERMIT C0-CONFLICTS { IGNORED, PROCESSED }
Determines whether the active terminal emulator should process or ignore C0 control characters which are also used for the specified file transfer protocol. Kermit by default uses ^A . Default is PROCESSED.
SET TERMINAL AUTODOWNLOADKERMIT DETECTION-METHOD { PACKET, STRING }
Determines whether the specified file transfer protocol should be detected by looking for valid packets or by identifying a specified text string. Default is PACKET.
SET TERMINAL AUTODOWNLOADKERMIT STRING text
Lets you assign an autodownload detection string for use with the specified file transfer protocol. Default is "READY TO SEND...".
SET TERMINAL AUTOPAGE { ON, OFF }
(to be filled in)
SET TERMINAL AUTOSCROLL { ON, OFF }
(to be filled in)
SET TERMINAL BELL { AUDIBLE, VISIBLE, NONE }
Specifies how Control-G (bell) characters are handled. AUDIBLE means a beep is sounded; VISIBLE means the screen is flashed momentarily. (This command has been superseded by SET BELL.)
SET TERMINAL BYTESIZE { 7, 8 }
Use 7- or 8-bit characters between Kermit and the remote computer during terminal sessions. The default is 8.
SET TERMINAL CHARACTER-SET remote-cs
Specifies the character set used by the remote host, . Equivalent to SET TERM REMOTE-CHARACTER-SET ALL. For more control over the details, use SET TERM REMOTE-CHARACTER-SET and (in non-GUI Kermit versions) SET TERM LOCAL-CHARACTER-SET; these are explained below. The default TERMINAL CHARACTER-SET is LATIN1 (ISO 8859-1).
SET TERMINAL CODE-PAGE number
Lets you change the PC code page. Only works for code pages that are successfully prepared in CONFIG.SYS. Use SHOW TERMINAL to list the current code page and the available code pages.
SET TERMINAL COLOR screenpart foreground background
Sets the colors of the terminal emulation screen. screenpart> may be any of the following: DEBUG, HELP-TEXT, REVERSE, SELECTION, STATUS-LINE, TERMINAL-SCREEN, or UNDERLINED-TEXT. foreground and background may be any of: BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LGRAY, DGRAY, LBLUE, LGREEN, LCYAN, LRED, LMAGENTA, YELLOW or WHITE. The L prefix for the color names means Light.
SET TERMINAL COLOR ERASE { CURRENT-COLOR, DEFAULT-COLOR }
Determines whether the current color as set by the host or the default color as set by the user (SET TERMINAL COLOR TERMINAL) is used to clear the screen when erase commands are received from the host.
SET TERMINAL COLOR RESET-ON-ESC[0m { CURRENT-COLOR, DEFAULT-COLOR }
Determines whether the current color or the default color is used after [0m ("reset attributes") command sequence is received from the host.
SET TERMINAL CONTROLS { 7, 8 }
Determines whether VT220/320 or Wyse 370 function keys, arrow keys, etc, that generate ANSI-format escape sequences should send 8-bit control characters or 7-bit escape sequences.
SET TERMINAL CR-DISPLAY { CRLF, NORMAL }
Specifies how incoming carriage return characters are to be displayed on your screen.
SET TERMINAL CURSOR { FULL, HALF, UNDERLINE } {ON, OFF, NOBLINK}
Selects the cursor style and visibility for the terminal screen.
SET TERMINAL DEBUG { ON, OFF }
Turns terminal session debugging on and off. When ON, incoming control characters are displayed symbolically, rather than be taken as formatting commands. SET TERMINAL DEBUG ON implies SET TELNET DEBUG ON.
SET TERMINAL DG-UNIX-MODE { ON, OFF }
Specifies whether the Data General emulations should accept control sequences in Unix compatible format or in native DG format. The default is OFF, DG format.
SET TERMINAL ECHO { LOCAL, REMOTE }
Specifies which side does the echoing during terminal connection.
SET TERMINAL ESCAPE-CHARACTER { ENABLED, DISABLED }
Turns on/off the ability to escape back from CONNECT mode using the SET ESCAPE character. If you disable it you can still get back using Alt-key combinations as shown in the status line. Also see HELP SET ESCAPE.
SET TERMINAL FONT facename height
Specifies the font to be used in the C-Kermit terminal window. The font is determined by the choice of a facename and a height measured in Points. The available facenames are those installed in the Font Control Panel.
SET TERMINAL HEIGHT number
Changes the number of rows (lines) to use during terminal emulation, not counting the status line. Recommended values are 24, 42, and 49 (or 25, 43, and 50 if SET TERMINAL STATUSLINE is OFF.)
SET TERMINAL IDLE-TIMEOUT number
Sets the limit on idle time in CONNECT mode to the given number of seconds. 0 (the default) means no limit.
SET TERMINAL IDLE-ACTION { EXIT, HANGUP, OUTPUT [ text ], RETURN }
Specifies the action to be taken when a CONNECT session is idle for the number of seconds given by SET TERMINAL IDLE-TIMEOUT. The default action is to RETURN to command mode. EXIT exits from Kermit; HANGUP hangs up the connection, and OUTPUT sends the given text to the host without leaving CONNECT mode; if no text is given a NUL (0) character is sent.
SET TERMINAL IDLE-ACTION { TELNET-NOP, TELNET-AYT }
For TELNET connections only: Sends the indicated Telnet protocol message: No Operation (NOP) or "Are You There?" (AYT).
SET TERMINAL KDB-FOLLOWS-GL/GR { ON, OFF }
Specifies whether or not the keyboard character set should follow the active GL and GR character sets. This feature is OFF by default and should not be used unless it is specifically required by the host application.
SET TERMINAL KEY mode /LITERAL keycode text
SET TERMINAL KEY mode DEFAULT
SET TERMINAL KEY mode CLEAR
Configures the key whose keycode is given to send the given text when pressed while mode is active. mode may be any of the valid terminal types or the special modes "EMACS", "HEBREW" or "RUSSIAN". DEFAULT restores all default key mappings for the specified mode. CLEAR erases all the key mappings. If there is no text, the default key binding is restored for the key k. SET TERMINAL KEY mappings take place before terminal character-set translation. SET KEY mappings take precedence over SET TERMINAL KEY settings. The /LITERAL switch may be used to instruct Kermit to ignore character-set translations when sending this definition to the host.

The text may contain "\Kverbs" to denote actions, to stand for DEC keypad, function, or editing keys, etc. For a list of available keyboard verbs, type SHOW KVERBS.

To find out the keycode and mapping for a particular key, use the SHOW KEY command. Use the SAVE KEYS command to save all settings to a file.

SET TERMINAL KEYBOARD-MODE { NORMAL, EMACS, RUSSIAN, HEBREW }
Select a special keyboard mode for use in the terminal screen.
SET TERMINAL KEYPAD-MODE { APPLICATION, NUMERIC }
Specifies the "mode" of the numeric keypad for VT terminal emulation. Use this command in case the host or application wants the keypad to be in a different mode than it's in, but did not send the escape sequence to put it in the needed mode.
SET TERMINAL LF-DISPLAY { CRLF, NORMAL }
Specifies how incoming linefeed characters are to be displayed on your screen.
SET TERMINAL LINE-SPACING float
Specifies the line spacing used when displaying text. The default is 1.0. Valid values range from 1.0 to 3.0 inclusive.
SET TERMINAL LOCAL-CHARACTER-SET local-cs
Specifies the character set used locally. If you don't specify the local character-set, the current code page is used. When the local and remote character sets differ, Kermit translates between them during CONNECT. By default, the remote character set is Latin1 and the local one is your current code page. In Windows NT, Unicode is used as the local character-set regardless of this setting. See also SET TERMINAL REMOTE-CHARACTER-SET
SET TERMINAL LOCKING-SHIFT { OFF, ON }
Tells whether to send Shift-In/Shift-Out (Ctrl-O and Ctrl-N) to switch between 7-bit and 8-bit characters sent during terminal emulation over 7-bit connections. OFF by default.
SET TERMINAL MARGIN-BELL { ON [ column ], OFF }
Determines whether the margin-bell is activated and what column it should ring at. OFF by default.
SET TERMINAL NEWLINE-MODE { OFF, ON }
Tells whether to send CRLF (Carriage Return and Line Feed) when you type CR (press the Return or Enter key) in CONNECT mode.
SET TERMINAL OUTPUT-PACING milliseconds
Tells how long to pause between sending each character to the host during CONNECT mode. Normally not needed but sometimes required to work around TRANSMISSION BLOCKED conditions when pasting into the terminal window.
SET TERMINAL PCTERM { ON, OFF }
Activates or deactivates the PCTERM terminal emulation keyboard mode. When PCTERM is ON all keystrokes in the terminal screen are sent to the host as make/break (down/up) codes instead of as characters from the REMOTE-CHARACTER-SET, and all keyboard mappings, including Kverbs and the escape character are disabled. To turn off PCTERM keyboard mode while in CONNECT mode press Control-CapsLock. PCTERM is OFF by default.
SET TERMINAL PRINT { AUTO, COPY, OFF, USER }
Allows selective control of various types of printing from the Terminal session. AUTO prints a line of text from the terminal screen whenever the cursor is moved off the line. COPY prints every byte received as it is received without interpretation. USER prints every byte after interpretation by the terminal emulator translates character-sets and construct escape sequences, ... The default is OFF.
SET TERMINAL REMOTE-CHARACTER-SET remote-cs> [ { G0,G1,G2,G3 }... ]
Specifies the character set used by the remote host, . When the local and remote character sets differ, Kermit translates between them during CONNECT. By default, the remote character set is Latin1 and the local one is your current code page. Optionally, you can also designate the character set to the G0..G3 graphic tables.
SET TERMINAL ROLL-MODE { INSERT, OVERWRITE, KEYSTROKES [ option ] }
Tells whether new data when received from the host is entered into the scrollback buffer at the current rollback position (OVERWRITE) or at the end of the buffer (INSERT). The default is INSERT. Typing is allowed during rollbacks in either mode, according to SET TERM ROLL KEYSTROKES: SEND (the default) means to process keystrokes normally; IGNORE means to ignore them when the screen is scrolled back; RESTORE-AND-SEND is like SEND but restores the screen to its active position first.
SET TERMINAL SCREEN-MODE { NORMAL, REVERSE }
When set to REVERSE the foreground and background colors are swapped as well as the application of the foreground and background intensity bits. The default is NORMAL.
SET TERMINAL SCREEN-OPTIMIZE { ON, OFF }
When set to ON, the default, Kermit only paints the screen with characters that have changed since the last screen paint. When OFF, the screen is completely repainted each time there is a change.
SET TERMINAL SCREEN-UPDATE { FAST, SMOOTH } [ milliseconds ]
Chooses the mechanism used for screen updating and the update frequency. Defaults are FAST scrolling with updates every 100 milliseconds.
SET TERMINAL SCROLLBACK lines
Sets size of CONNECT virtual screen buffer. lines includes the active terminal screen. The minimum is 256. The maximum is 2 million. The default is 2000.
SET TERMINAL SEND-DATA { ON, OFF }
Determines whether ASCII emulations such as WYSE 30,50,60 or TVI 910+,925, 950 may send their screen contents to the host upon request. Allowing the screen to be read by the host is a significant security risk. The default is OFF and should only be changed after a security evaluation of host environment.
SET TERMINAL SEND-END-OF-BLOCK { CRLF_ETX, US_CR }
Determines which set of characters should be used as end of line and end of transmission indicators when sending screen data to the host
SET TERMINAL SGR-COLORS { ON, OFF }
ON (default) means allow host control of colors; OFF means ignore host escape sequences to set color.
SET TERMINAL SNI-CH.CODE { ON, OFF }
This command controls the state of the CH.CODE key. It is the equivalent to the SNI_CH_CODE Keyboard verb. The SNI terminal uses CH.CODE to easily switch between the National Language character set and U.S. ASCII. The default is ON which means to display characters as U.S. ASCII. When OFF the lanuage specified by SET TERMINAL SNI-LANUAGE is used to display characters when 7-bit character sets are in use.
SET TERMINAL SNI-FIRMWARE-VERSIONS kbd-version terminal-version
Specifies the Firmware Version number that should be reported to the host when the terminal is queried. The default is 920031 for the keyboard and 830851 for the terminal.
SET TERMINAL SNI-LANGUAGE national-language
An alias for SET TERMINAL VT-LANUAGE, this command specifies the national language character-set that should be used when the NRC mode is activated for VT emulations or when CH.CODE is OFF for SNI emulations. The default language for SET TERMINAL TYPE SNI-97801 is "German".
SET TERMINAL SNI-PAGEMODE { ON, OFF }
Determines whether or not page mode is active. OFF by default.
SET TERMINAL SNI-SCROLLMODE { ON, OFF }
Determines whether or not scroll mode is active. OFF by default.
SET TERMINAL STATUSLINE { ON, OFF }
ON (default) enables the Kermit status line in the terminal screen. OFF removes it, making the line available for use by the host.
SET TERMINAL TRANSMIT-TIMEOUT seconds
Specifies the maximum amount of time Kermit waits before returning to the prompt if your keystrokes can't be transmitted for some reason, such as a flow-control deadlock.
SET TERMINAL TRIGGER string
Specifies a string that, when detected during any subsequent CONNECT session, is to cause automatic return to command mode. Give this command without a string to cancel the current trigger. See HELP CONNECT for additional information.
SET TERMINAL URL-HIGHLIGHT { ON attribute, OFF }
Specifies whether URLs should be highlighted and which screen attribute should be used. The screen attributes can be one of NORMAL, BLINK, BOLD, DIM, INVISIBLE, REVERSE, or UNDERLINE. The default is ON using the BOLD screen attribute.
SET TERMINAL VIDEO-CHANGE { DISABLED, ENABLED }
Specifies whether video modes should change automatically in response to escape sequences from the other computer. ENABLED by default.
SET TERMINAL VT-LANGUAGE language
Specifies the National Replacement Character Set (NRC) to be used when NRC mode is activated. The default is "North American".
SET TERMINAL VT-NRC-MODE { ON, OFF }
OFF (default) chooses VT multinational Character Set mode. OFF chooses VT National Replacement Character-set mode. The NRC is selected with SET TERMINAL VT-LANGUAGE
SET TERMINAL WIDTH cols
Tells the number of columns in the terminal screen. The default is 80. You can also use 132. Other widths can be chosen but are usually not supported by host software.
SET TERMINAL WRAP { OFF, ON }
Tells whether the terminal emulator should automatically wrap long lines on your screen.
Type SHOW TERMINAL to see current terminal settings.
SET TRANSACTION-LOG
Syntax: SET TRANSACTION-LOG { BRIEF, FTP, VERBOSE }
Selects the transaction-log format; BRIEF and FTP have one line per file; FTP is compatible with FTP log. VERBOSE (the default) has more info.
SET TRANSFER
Syntax: SET TRANSFER parameter value
Synonym: SET XFER
Choices:
SET TRANSFER BELL { OFF, ON }
Whether to ring the terminal bell at the end of a file transfer.
SET TRANSFER CANCELLATION { OFF, ON [ code [ number ] ] }
OFF disables remote-mode packet-mode cancellation from the keyboard. ON enables it. The optional code is the control character to use for cancellation; the optional number is how many consecutive occurrences of the given control character are required for cancellation.
SET TRANSFER INTERRUPTION { ON, OFF }
TRANSFER INTERRUPTION is normally ON, allowing for interruption of a file transfer in progress by typing certain characters while the file-transfer display is active. SET TRANSFER INTERRUPTION OFF disables interruption of file transfer from the keyboard in local mode.
SET TRANSFER CRC-CALCULATION { OFF, ON }
Tells whether Kermit should accumulate a Cyclic Redundancy Check for each file transfer. Normally ON, in which case the CRC value is available in the \v(crc16) variable after the transfer. Adds some overhead. Use SET TRANSFER CRC OFF to disable.
SET TRANSFER CHARACTER-SET name
Selects the character set used to represent textual data in Kermit packets. Text characters are translated to/from the FILE CHARACTER-SET. Here all the choices, which, except TRANSPARENT, are all (and must be) national or international standards:
TRANSPARENT no translation, the default
ASCII LATIN1 ISO 8859-1 Latin Alphabet 1
LATIN2 ISO 8859-2 Latin Alphabet 2
LATIN9 ISO 8859-15 Latin Alphabet 9
CYRILLIC-ISO ISO 8859-5 Latin/Cyrillic
GREEK-ISO ISO 8859-7 Latin/Greek
HEBREW-ISO ISO 8859-8 Latin/Hebrew
JAPANESE-EUC JIS X 0208 Kanji + Roman and Katakana
UCS-2 ISO 10646 / Unicode 2-byte form
UTF-8 ISO 10646 / Unicode 8-bit serialized transformation format  
SET TRANSFER TRANSLATION { ON, OFF }
Enables and disables file-transfer character-set translation. It's enabled by default.
SET TRANSFER DISPLAY { BRIEF, CRT, FULLSCREEN, NONE, SERIAL }
Choose the desired format for the progress report to be displayed on your screen during file transfers when Kermit is in local mode. FULLSCREEN requires your terminal type be set correctly; the others are independent of terminal type.
SET TRANSFER LOCKING-SHIFT { OFF, ON, FORCED }
Tell whether locking-shift protocol should be used during file transfer to achieve 8-bit transparency on a 7-bit connection. ON means to request its use if PARITY is not NONE and to use it if the other Kermit agrees, OFF means not to use it, FORCED means to use it even if the other Kermit does not agree.
SET TRANSFER MODE { AUTOMATIC, MANUAL }
Automatic (the default) means Kermit should automatically go into binary file-transfer mode and use literal filenames if the other Kermit says it has a compatible file system, e.g. UNIX-to-UNIX, but not UNIX-to-DOS. Also, when sending files, Kermit should switch between binary and text mode automatically per file based on the SET FILE BINARY-PATTERNS and SET FILE TEXT-PATTERNS.
SET TRANSFER PIPES { ON, OFF }
Enables/Disables automatic sending from / reception to command pipes when the incoming filename starts with '!'. Also see CSEND, CRECEIVE.
SET TRANSFER PROTOCOL { KERMIT, XMODEM, ... }
Synonym for SET PROTOCOL.
SET TRANSFER REPORT { ON, OFF }
Enables/Disables the automatic post-transfer message telling what files went where from C-Kermit when it is in remote mode. ON by default.
SET TRANSFER SLOW-START { OFF, ON }
ON (the default) tells Kermit, when sending files, to gradually build up the packet length to the maximum negotiated length. OFF means start sending the maximum length right away. Synonym: SET XFER. Use SHOW TRANSFER (XFER) to see SET TRANSFER values.
SET TRANSMIT
Syntax: SET TRANSMIT parameter value
Synonym: SET XMIT.
Controls the behavior of the TRANSMIT command.
SET TRANSMIT ECHO { ON, OFF }
Whether to echo text to your screen as it is being transmitted.
SET TRANSMIT EOF text
Text to send after end of file is reached, e.g. \4 for Ctrl-D
SET TRANSMIT FILL number
ASCII value of a character to insert into blank lines, 0 for none. Applies only to text mode. 0 by default.
SET TRANSMIT LINEFEED { ON, OFF }
Transmit Linefeed as well as Carriage Return (CR) at the end of each line. Normally, only CR is sent.
SET TRANSMIT LOCKING-SHIFT { ON, OFF }
Whether to use SO/SI for transmitting 8-bit data when PARITY is not NONE.
SET TRANSMIT PAUSE number
How many milliseconds to pause after transmitting each line (text mode), or each character (binary mode).
SET TRANSMIT PROMPT number
ASCII value of character to look for from host before sending next line when TRANSMITting in text mode; normally 10 (Linefeed). 0 means none; don't wait for a prompt.
SET TRANSMIT TIMEOUT number
Number of seconds to wait for each character to echo when TRANSMIT ECHO is ON or TRANSMIT PROMPT is not 0. If 0 is specified, this means wait indefinitely for each echo.
SHOW TRANSMIT displays current settings.
SET UNKNOWN-CHAR-SET
Syntax: SET UNKNOWN-CHAR-SET { DISCARD, KEEP }
DISCARD (default action) means reject any arriving files encoded in unknown character sets. KEEP means to accept them anyway.
SET VARIABLE-EVALUATION
Syntax: { RECURSIVE, SIMPLE }
The C-Kermit variables \%1-\%9 and \%a-\%z, as well as its arrays, \&[a]-\&[z], have always been evaluated recursively. 99% of C-Kermit users,, maybe more, don't know this and can obtain curious results using them on (say) DOS/Windows file specifications:
.tmpdir := c:\users\fdc\tmp
?ERROR:NO_SUCH_FUNCTION:\fdctmp()
In a rare departure from the cardinal rule — always make new C-Kermit releases backwards-compitable with previous ones — these variables are now evaluated one-level deep instead of recursively; in other words, their literal definition is returned. This change can be undone by putting the command SET VARIABLE-EVALUATION RECURSIVE at the head of any script, and/or in your C-Kermit initialization file.
SET WILDCARD-EXPANSION
Syntax: SET WILDCARD-EXPANSION { KERMIT [ switch ], SHELL, ON, OFF }
KERMIT (the default) means C-Kermit expands filename wildcards in SEND and similar commands itself, and in incoming GET commands. Optional switches are /NO-MATCH-DOT-FILES ("*" and "?" should not match an initial period in a filename; this is the default) and /MATCH-DOT-FILES if you want files whose names begin with "." included. SET WILDCARD SHELL means that Kermit asks your preferred shell to expand wildcards (this should not be necessary in C-Kermit 7.0 and later). HELP WILDCARD for further information.

The ON and OFF choices allow you to disable and renable wildcard processing independent of the KERMIT / SHELL choice. Disabling wildcards allows you to process an array or list of filenames without having to consider whether the names might contain literal wildcard characters. WARNING: SET WILD OFF also disables internal filename pattern-matching, used (for example) in creating backup files.

SET WINDOW-SIZE
Syntax: SET WINDOW-SIZE number
Specifies number of slots for sliding windows, i.e. the number of packets that can be transmitted before waiting for acknowledgement. The default is one, the maximum is 32. Increased window size might result in reduced maximum packet length. Use sliding windows for improved efficiency on connections with long delays. A full duplex connection is required, as well as a cooperating Kermit on the other end.

The SHOW command

SHOW ALARM
Shows whether an alarm has been set and if so, whether or not is has expired. See SET ALARM.
SHOW ARGUMENTS
When given at the prompt the SHOW ARGUMENT command shows any command-line arguments that were included in the Kermit invocation. When issued from inside a command file invoked by a TAKE command, it lists any TAKE arguments. When issued from inside a macro, it lists any arguments that were included in the macro invocation.
SHOW ARRAYS
If more than one array is declared, this command lists each one, along with its dimension.
SHOW ASSOCIATIONS
A fundamental principal in Kermit file transfer, is that (unless you go out of your way to prevent it) only national and international standard character sets are used "on the wire" during file transfer. So, for example, if you are sending a German-language text file from OpenVMS to Unix, Kermit should convert the proprietary VMS encoding (DEC-Multinational) to a standard set such as ISO 8559-1 (ak.a. Latin-1) or Unicode UTF-8. C-Kermit comes with a default set of character-set associations and you can also change them if you wish with the ASSOCIATE command. The SHOW ASSOCIATIONS command shows you the current associations. You can, of course also specify them explictly on a per-transfer or global basis, see SET FILE CHARACTER-SET and SET TRANSFER CHARACTER-SET.
SHOW ATTRIBUTES
File transfer: attributes (such as date, size, etc) that are sent along with a file can be individually enabled or disabled with SET ATTRIBUTES. SHOW ATTRIBUTES tells you which attributes are enabled (on) and which are disabled (off).
SHOW BROWSER
Tells you which browser is invoked when you give a BROWSE command.
SHOW CD
Displays your current SET CD settings.
SHOW CHARACTER-SETS
Displays all of your character-set related settings.
SHOW COMMUNICATIONS
Displays your serial-communication related settings.
SHOW COMMAND
Displays all your command related settings.
SHOW CONNECTION
Displays details about your current communications connection.
SHOW CONTROL-PREFIXING
Shows which control characters are prefixed for transparency and which are not; see SET CONTROL.
SHOW COUNT
Current value of the COUNT pseudovariable.
SHOW DIAL
Displays the current values of all your modem dialing parameters.
SHOW DOUBLE/IGNORE
File transfer: displays your current SET RECEIVE IGNORE and SET SEND DOUBLE characters.
SHOW EDITOR
Tells the editor that is invoked when you give an EDIT command. See SET EDITOR
SHOW ESCAPE
displays the character you must type to escape back from a remote computer to Kermit's command processor.
SHOW EXIT
Displays your current SET EXIT selections.
SHOW FEATURES
Displays the major features that your Kermit program was built with and without. For example, most Kermit programs are built without SSL/TLS or Kerberos security by default, it must be requested specially. It also gives a detailed report of the build options and parameters.
SHOW FILE
Displays a detailed report of every setting having to do with files, especially as they relate to file transfer.
SHOW FLOW-CONTROL
Displays your current flow control selection, usually relevant only for serial-port and modem connections.
SHOW FTP
(to be filled in)
SHOW FUNCTIONS
Displays all of Kermit's built-in functions.
SHOW FUNCTIONS string
Displays all of Kermit's built-in functions whose names include string.
SHOW HISTORY
Displays your Kermit command history for current session, the last 10 commands by default, but you can increase the history to any desired size with SET COMMAND RECALL-BUFFER-SIZE. At the C-Kermit command prompt, you can scroll through your history with Ctrl-P (previous, i.e. go up) and Ctrl-N (next, go down), and on Windows you can also use arrow keys for this.
SHOW INPUT
Shows your current SET INPUT settings.
SHOW KEY
This command prompts you to "Press key:" and you can press any key or key combination (such as Shift-A, Ctrl-W). On Unix and VMS this command works only with letters, numbers, and punctuation keys, but not with F-keys, arrow keys, Insert, Delete, Home, End, etc. Anyway the result (in Unix and VMS) is what they key or key combination sends when you enter (press, type) it. You can make it send something else with SET KEY.

On Windows and OS/2 SET KEY and SHOW KEY work with any key or key combination, e.g. Num Lock, numeric keypad up-arrow, Ctrl-Alt-Shift-F2, etc.

SHOW LANGUAGE
See SET LANGUAGE.
SHOW LOCALE
See SET LOCALE.
SHOW LOGS
Displays what logs (deug, packet, session, transaction, connection) are active; see the LOG command.
SHOW MACROS
Shows all the macros that are currently defined. Some of these are internal to Kermit; for example, the FOR, WHILE, and SWITCH commands are implemented internally as macros. The names of the internal macros start with underscore (e.g. "_while"); they are shown first. The rest come after in alphabetical order.
SHOW MACRO name
Show the definition of the macro with the name given.
SHOW MODEM
Displays the details of your current or the default modem type (even if you're not using a modem). See SET MODEM.
SHOW NETWORK
Displays all network-related parameters: type of network, TCP parameters, Telnet parameters, etc, and if you have a network connection, the hostname and protocol.
SHOW OPTIONS
Various commands that have switches can have their default values changed by the SET OPTIONS command so you don't have include the same switches every time you use these commands. The commands are DELETE, DIRECTORY, PURGE, and TYPE.
SHOW PATTERNS
Binary- and text-filename patterns are relics of when before C-Kermit, when sending a file, examined the file's contents to determine whether the transfer should proceed in text mode or binary mode. Before that, C-Kermit had lists of file types likely to be text and likely to be binary, for each platform it ran on. If you give a SHOW PATTERNS command, you'll see such a list. Here is typical SHOW PATTERNS result for Unix:
File binary-patterns:
  *.gz *.Z *.tgz *.gif *.tar *.zip *.o *.so *.a *.out *.exe *.jpg *.jpeg
  *.tif *.tiff *.pdf *.so.* *.class *.rpm *.bmp *.bz2 *.BMP *.dll *.doc  *.vxd
  *.dcx *.xl* *.lzh *.lhz *.au *.voc *.mpg *.mpeg [wk]ermit *.ps

 File text-patterns:
  *.txt *.c *.h *.r *.w *.cpp *.cc *.ksc *.bwr *.upd *.html *.htm *.mss *.tex
  *.nr [Mm]akefile *.hex *.hqx *.for *.f77 *.f *.F *.s *.pas *.java *.el
  *.lisp *.sh *.m4 *.perl *.pl *.pod *.pm *.awk *.sno *.spt *.sed *.ksc *.TXT
  *read.me *READ.ME .* */.* *.mem *.mac
If you ever experience an error in which C-Kermit sends a file in the wrong mode you can SET FILE SCAN OFF and then tinker with the patterns.
SHOW PRINTER
Displays your most recent SET PRINTER assignment, if any, in which you specify the device to be used by the PRINT command.
SHOW PROTOCOL
Displays the current file transfer protocol, normally Kermit, in which case it also displays the detailed settings.
SHOW RENAME
Displays your current SET RENAME settings.
SHOW SCRIPTS
Displays the values of parameters that relevant to the execution of Kermit scripts (programs written in the Kermit command language).
SHOW SEND-LIST
Displays your current SEND-LIST if any (a mechanism by which you can built up a list of possibly unrelated and scattered files, all to be send with a single SEND command).
SHOW SERVER
Displays parameters meaningful when this copy of Kermit is used as a server, mainly which services are enabled (e.g. sending and/or receiving files) and which are disabled (like deleting files).
SHOW SEXPRESSION
Displays settings affecting the execution of S-Expressions, plus some statistics about the most recently executed S-Expression.
SHOW SSH
Displays information about C-Kermit's SSH method. In Unix and VMS, Kermit just runs the external SSH (Secure Shell) client. In Windows, however, Kermit has its own built-in SSH client with lots of settings which this command shows you.
SHOW STACK
For use with Kermit scripts. If you give a command that runs a macro or executes commands from a TAKE file, and these invoke other macros or TAKE files, SHOW STACK indicates where Kermit is presently executing commands from.
SHOW STATUS
Equivalent to STATUS. If the previous command succeeded, it says SUCCESS; if it failed it says FAILURE.
SHOW STREAMING
Displays information about "streaming", which is the fastest of Kermit's many file-transfer methods and can be used safely on most Internet connections. While C-Kermit supports streaming, most or all other Kermit implementations do not, in which case the transfer falls back to most efficient method that both sides support, e.g. sliding windows.
SHOW TCP
Displays your current SET TCP settings.
SHOW TELNET
Displays your current SET TELNET settings.
SHOW TELOPT
Displays your current SET TELOPT settings.
SHOW TEMP-DIRECTORY
Displays your current SET TEMP-DIRECTORY setting.
SHOW TERMINAL
Displays your current SET TERMINAL settings: Unix and VMS have one set; Windows and OS/2 have another.
SHOW TRANSFER
Displays your current SET TRANSFER settings.
SHOW TRANSMIT
Displays your current SET TRANSMIT settings.
SHOW TRIGGER
Displays your current SET TERMINAL TRIGGER setting.
SHOW VARIABLES [ pattern ]
Displays all of C-Kermit's built-in variables and their current values. If you include a text string or pattern, e.g. "show variables dial" or "show variables [nr]" or "show variables ^char" it shows only the variables that contain or match the given string (see PATTERNS).
SHOW VERSIONS
Displays Kermit's version information plus the versions and dates of its major source-code modules.

FTP commands

Since version 8.0, C-Kermit has had its own built-in scriptable FTP client. Further information:

Command-line arguments

Like most Unix commands, C-Kermit can be be given options on the command line. C-Kermit is generally installed in the PATH as "kermit", and therefore is invoked by typing the word "kermit" (lowercase) at the shell prompt, and then pressing the Return or Enter key. If you wish to include command-line options, put them after the word "kermit" but before pressing Return or Enter, separated by spaces, for example:

  $ kermit -s ckermit.tar.gz

('$' is the shell prompt; "kermit -s ckermit.tar.gz" is what you type, followed by Return or Enter.)

Here is a list of C-Kermit's single-letter command-line options, which start with a single dash (-), in ASCII ("alphabetical") order. Alphabetic case is significant (-A is not the same as -a). The Action? column contains Y for action options and N for non-action options.

Option Action? Description
-0 N (digit zero) 100% transparent Connect state for "in-the-middle" operation: 8 bits, no parity, no escape character, everything passes through.
-8 N (digit eight) Connection is 8-bit clean (this is the default since C-Kermit 9.0). Equivalent to the EIGHTBIT command, which in turn is a shortcut for SET TERMINAL BYTESIZE 8, SET COMMAND BYTESIZE 8, SET PARITY NONE.
-9 arg N (digit nine) Make a connection to an FTP server. Equivalent to the FTP OPEN command.
Argument: IP-address-or-hostname[:optional-TCP-port].
NOTE: C-Kermit also has a separate FTP command-line personality, with regular FTP-like command-line syntax. More about this below.
-A N Kermit is to be started as an Internet service (IKSD) (only from inetd.conf).
-B N Kermit is running in Batch or Background (no controlling terminal). To be used in case Kermit doesn't automatically sense its background status. Equivalent to the SET BACKGROUND ON command.
-C arg N Interactive-mode Commands to be executed.
Argument: Commands separated by commas, list in doublequotes.
-D arg N Delay before starting to send in Remote mode. Equivalent to the SET DELAY command.
Argument: Number of seconds.
-E N Exit automatically when connection closes. Equivalent to SET EXIT ON-DISCONNECT ON.
-F arg N Use an open TCP connection.
Argument: Numeric file descriptor of open TCP connection.
Also see: -j, -J.
-G arg Y Get file(s) from server, send contents to standard output, which normally would be piped to another process.
Argument: Remote file specification, in quotes if it contains metacharacters.
Also see: -g, -k.
-H N Suppress program startup Herald and greeting.
-I N Tell Kermit it has a reliable connection, to force streaming to be used where it normally would not be. Equivalent to the SET RELIABLE ON command.
-J arg N "Be like Telnet." Like -j but implies -E.
Argument: IP hostname/address optionally followed by service.
NOTE: C-Kermit also has a separate Telnet command-line personality, with regular Telnet-like command-line syntax. More about this below.
-L N Recursive directory descent for files in -s option.
-M arg N My user name (for use with Telnet, Rlogin, FTP, etc). Equivalent to the SET LOGIN USER command.
Argument: Username string.
-O Y (Uppercase letter O) Be a server for One command only. Also see: -x.
-P N Don't convert file (Path) names of transferred files. Equivalent to SET FILE NAMES LITERAL.
-Q N Quick Kermit protocol settings. Equivalent to the FAST command. This is the default in C-Kermit 7.0 and later.
-R N Remote-only (this just makes IF REMOTE true).
-S N Stay (enter command parser after action options).
-T N Force Text mode for file transfer; implies -V. Equivalent to SET TRANSFER MODE MANUAL, SET FILE TYPE TEXT.
-V N Disable automatic per-file text/binary switching. Equivalent to SET TRANSFER MODE MANUAL.
-Y N Skip (don't execute) the initialization file.
-a arg N As-name for file(s) in -s, -r, or -g.
Argument: As-name string (alternative filename). When receiving files, this can be a directory name.
-b arg N Speed for serial device. Equivalent to SET SPEED.
Argument: Numeric Bits per second for serial connections.
-c Y Enter Connect state before transferring files.
-d N Create a debug.log file with detailed debugging information (a second -d adds timestamps). Equivalent to LOG DEBUG but takes effect sooner.
-e arg N Maximum length for incoming Kermit file-transfer packets. Equivalent to SET RECEIVE PACKET-LENGTH.
Argument: Length in bytes.
-f Y Send a FINISH command to a Kermit server.
-g arg N Get file(s) from a Kermit server.
Argument: File specification on other computer, in quotes if it contains metacharacters. Equivalent to GET.
Also see: -a, -G, -r.
-h Y Print Help text for single-letter command-line options (pipe thru 'more' to prevent scrolling).
-i N Force binary (Image) mode for file transfer; implies -V. Equivalent to SET TRANSFER MODE MANUAL, SET FILE TYPE BINARY.
-j arg N Make a TCP/IP connection.
Argument: IP host name/address and optional service name or number. Equivalent to the TELNET command.
Also see: -J, -F.
-k Y Receive file(s) to standard output, which normally would be piped to another process.
Also see: -r, -G.
-l arg N (Lowercase letter L) Make a connection on the given serial communications device. Equivalent to the SET LINE (SET PORT) command.
Argument: Serial device name, e.g. /dev/ttyS0.
-m arg N Modem type for use with the -l device. Equivalent to the SET MODEM TYPE command.
Argument: Modem name as in SET MODEM TYPE command, e.g. "usrobotics".
-n Y Enter Connect state after transferring files (historical).
-p arg N Parity. Equivalent to the SET PARITY command.
Argument: One of the following: e(ven), o(dd), m(ark), n(one), s(pace).
-q N Quiet (suppress most messages). Equivalent to SET QUIET ON.
-r Y Receive file(s). Equivalent to the RECEIVE command.
Argument: (none, but see -a)
-s arg N Send file(s).
Argument: One or more local file specifications. Equivalent to the SEND command.
Also see: -a.
-t N (Historical) Xon (Ctrl-Q) Turnaround character for half-duplex connections (used on serial linemode connections to old mainframes). Equivalent to SET DUPLEX HALF, SET HANDSHAKE XON.
-v arg N Window size for Kermit protocol (ignored when streaming). Equivalent to SET WINDOW-SIZE.
Argument: Number, 1 to 32.
-w N Incoming files Write over existing files. Equivalent to SET FILE COLLISION OVERWRITE.
-x Y Enter server mode. Equivalent to the SERVER command. Also see: -O.
-y arg N Alternative initialization file.
Argument: Filename.
-z N Force foreground behavior. To be used in case Kermit doesn't automatically sense its foreground status. Equivalent to the SET BACKGROUND OFF command.

Extended command-line options (necessary because single-letter ones are about used up) start with two dashes (--), with words rather than single letters as option names. If an extended option takes an argument, it is separated from the option word by a colon (:). Extended options include:

Option Description
--bannerfile:filename File to display upon startup or IKSD login.
--cdfile:filename File to be sent for display to the client when server changes directory (filename is relative to the changed-to directory).
--cdmessage:{on,off} Enable/disable the server CD message feature.
--help Prints usage message for extended options.
--helpfile:filename Designates a file containing custom text to replace the top-level HELP command.
--nointerrupts Disables keyboard interrupts.
--noperms Disables the Kermit protocol file-permissions attribute, to prevent transmission of file permissions (protection code) from sender to receiver.

C-Kermit 10.0 / The Kermit Project / Page created: 22 May 2022