EaSZy - Utilities for Dos

[EaSZy]

EaSZy for MS-DOS/Windows is a collection of command line utilities which can be useful both to programmers and to power users. The programs in the  package expand common MS-DOS and Windows utilities, by offering new features and options.
The programs included in the package may be divided in the following groups:

File security

CRCALL shows name, date, time, size and the results of four 16 bit CRCs and of one 32 bit CRC with 3 padding (0, 128 and 1024 bytes) for each file specified
CYP95 multipass private key encription, 0-redundant, with variable length blocks, variable transposition and key salting
TESTDISK reads specified files, starting from dir (to determine disk integrity)

File manipulation

T2T translates text files from a format to another (Dos/Win-Unix-Macintosh), optionally replacing tabs and accented vowels
FBUILD rebuilds file splitted through FSPLIT
FSPLIT splits files in any number of files, whose size may be specified by user
MAILCODE encodes binary files to be sent by e-mail or decodes the files received
RF prints file names (alphabetically sorted) and disk space that would be freed after their deletion; removes files with any attribute, optionally with a military wipe and prompting the user for confirmation
SF sets date, time and attributes for files/directories

Printer utilities

PRSEND sends files and/or strings of codes to any parallel port

Directory utilities

RT removes directory trees and their contents, showing disk space that would be freed before actually deleting them

Batch file utilities

EASYGO converts scripts for GO-MENU (r) in programs for EASYMENU; this utility can also be used to create quickly and automatically new menus for EASYMENU
EASYMENU language for the creation of menus operated through mouse and keyboard; options and text can be formatted in many ways
GETCH sets Dos errorlevel to the ASCII code of the key pressed by user; keys accepted can be limited, return codes and prompt can be specified by user; optional beep
SZ-MENU replaces GO-MENU (r), allowing direct execution of programs, extensive use of mouse, a greater number of options on screen, a configuration system to modify colors; a screen saver is also built-in
TEST sets errorlevel to 0 if an expression is true, 1 otherwise. Expressions can refer to file, string and number comparisons.
WILD allows to create batch files automatically, for example to use extended wild cards with those programs that don't support them

File search

DE replaces Dos DIR command (with all its options), colouring directory entries, displaying for each file: attributes, date, time, nominal and real space occupied; fully configurable
DESETUP customizes DE (color choice)
FFE finds files that matches one or more patterns in a directory tree; any key pauses, Esc exits
TESTDISK reads specified files, starting from dir (to determine disk integrity)

 
Features

All the programs, except GETCH, print a brief summary about their usage when run without parameters.

CRCALL

Syntax:

CRCALL filename [filename..] [/V.] [/X]

Description:

shows name, date, time, size and the results of four 16 bit CRCs and of one 32 bit CRC with 3 padding (0, 128 and 1024 bytes), for each file matching filename.

Note:
filename may include multiple wildcards * and ? or can be a directory name.

Parameters (only for Windows):

/V[1]   prints long names
/V2 prints both long and short names
/X doesn't check long names for matches
/B one-line summary

 

CYP95

Syntax:

CYP95 file [key0 .. [key9]] [/C | /Q] [/Ddest] [/Fkeyfile] [/K[+|-]set | ?[set] | !] [/M] [/N] [/R] [/Sx:y] [/X] [/T] [/UE | /UD] [/W | /WD | /WE]

Description:

encrypts source files or decrypts them; for both operations is required the same sequence of keys, in the same order; keys are case - sensitive; file parameter can include multiple wildcard characters * and ?.

Parameters:

/C verifies file encryption state
/D destination directory (default: "file" directory)
/F key file (default: CYP95.KEY, directory of CYP95.EXE)
/K key set to use from key file
/N excludes key validation info
/Q no messages to screen
/R removes source files at the end (disabled when /WE is specified)
/S key salting (x:y = length:number of keys; 15 <= x <= 200, 5 <= y <= 10) - ALWAYS referred to encryption keys
/T verifies only file integrity
/X doesn't check long names for matches
/M disables password confirmation
/UE post-processes encrypted files for sending through e-mail
/UD decrypts an e-mail containing an encrypted message
/WE same as /UE, but the result is copied to Windows clipboard
/WD same as /UD, but the message is acquired from Windows clipboard
/W (de)crypts the contents of the clipboard and stores the result in the clipboard itself

Parameters for changing/updating key files:
/K+set adds or changes specified key set
/K-set removes specified key set
/K?set prints keys in specified key set
/K? prints the names of the key sets in the key file
/K! changes lock on key file (modifies keys used to access key sets)

Example:

CYP95 myfile.txt use YOUR imagination

Encrypts "myfile.txt" using the following keys:

0 use
1 YOUR
2 imagination

When a file is decrypted it will get the same name, date, time and attributes of the original file; under Windows, long filename and date/time of creation will also be restored. If the file was encrypted under Ms-Dos the long filename and date/time of creation will not be stored. Extended wild cards are supported in file name.

Up to 10 case-sensitive encryption keys can be specified; every key can be up to 65 character long. Keys on command line can include blanks, when enclosed between double quotes (which are not considered part of the key).

Example:

CYP95 myfile.txt "use YOUR" "imagination"

Encrypts "myfile.txt" using the following keys:

0 use YOUR
1 imagination

The algorithms used are highly secure and sophisticated: no trap-door is embedded or available and key validation is optional. Every encrypted file includes integrity check, which does not alter encryption security because the control is calculated on the encrypted file. If the destination file already exists the user has the option of overwriting, skipping or changing the file name.
Encrypted files are automatically recognized (the extension can be changed as will).

The parameter /D allows to change the directory for the destination file, which by default is the same as the source.

The parameter /N allows to avoid the inclusion of key validation info inside the encrypted file, to add an additional layer of security against brute force attacks.
BE CAREFUL! If this parameter is specified, the name of the original file name is stored as CLEAR TEXT in the file header; that's because the encryption algorithm for the header is the same used to encrypt the contents - a brute force attack might concentrate on the decrypted file name to find the keys. If this parameter is used, consider renaming the file before encrypting it (if its name could suggest its contents).
If /N is NOT specified, both Dos and Windows original file name are stored encrypted.

The parameter /F is used together with /K; it allows to specify the name of a file holding one or more keysets, which is looked for in the same directory of CYP95.EXE; this file is protected with a lock, which is a set of keys (1 to 10) just like any encrypted file; in this way, you can use a single pass-phrase (one or more keys) to protect several key sets. The lock is specified when the file is created and can be later modified using the parameter /K! (see below).
If you use regularly a keyset file, it is advisable to make backup copies of it; since this file is very important, choose carefully where to store the backup copies.

When no keyset is specified or /F is omitted, but /K is specified, CYP95 uses the file CYP95.KEY in the directory of CYP95.EXE.
The parameter /K is used to specify the name of a keyset to use, which is hold inside the key file; this name is case-sensitive. This parameter has several versions:

/K+set add or modify the specified keyset; the user will be prompted for the new keys; a confirmation is required if the keyset already existed

/K-set remove the specified keyset (with confirmation)

/K?set print the keys belonging to the specified keyset

/K? print the names of the keysets inside the key file

/K! change the lock of the keyfile

The name of a keyset can include blanks (if enclosed between double quotes) and can be up to 64 character long.
The lock keys can be specified on the command line or can be typed when requested.

The parameter /R, when specified, removes source files after they are succesfully encrypted; file deletion is irreversible, because the file contents is actually changed to binary zeros before deleting the file.

The parameter /C is used to check the encryption status of a file; for each file specified CYP95 determines if it is encrytped and, in this case, if the specified keys are correct for decrypting it. Note: key files are considered as clear files.

The parameter /T checks for encrypted file integrity; no keys are requested, because the control does not require decryption. If both /T and /C are specified, keys will be required and every file will be checked for integrity and key validation.

The parameter /X is meaningful only under Windows: it allows to ignore long file names.

If no key is specified on the command line and /K parameter is omitted, the keys to be used will be prompted interactively; every character typed is replaced by "*" and every key must will be prompted two times.

The keys introduced interactively can include ASCII characters between 32 and 255; control characters are filtered except: Backspace (deletes last character typed), Enter (confirms key) and Escape (abort). A null key is considered as "end of keys". Every key can be up to 65 character long.

The parameter /Q switches to quiet mode (no messages to screen); error messages are always displayed.

The parameter /S allows to "salt" the specified keys, up to the length and number specified. Two sub-parameters are available, x and y: x is the minimum length of salted keys, y is their number; x and y values must be:

  x (length) y (number of keys)
minimum value 15 5
maximum value 200 10
default 50 5

A value below minimum will be interpreted as the minimum; a value above maximum as the maximum. If the parameter /S is omitted, CYP95 will assume /S50:5. Every key longer than x will NOT be truncated; every key after y will be considered, if specified. Salting is always referred to keys; if a keyset is used and key salting is specified, the values will be applied to the keyset once is loaded.

The parameter /M avoids double-typing the keys for confirmation; should be avoided when adding or modifyin keysets.

The parameters /Ux and /Wx allows to pre-process or post-process the files for e-mail messages and to interact with Windows clipboard.

The parameter /UE post-processes the encrypted files for sending them through e-mail; the result is a text file (".ASC" extension) containing a block of characters encoded similarly to Mime Base 64 standard; the block begins with:

-----BEGIN CYP95 MESSAGE-----

and ends in:

-----END CYP95 MESSAGE-----

The parameter /UD decrypts an e-mail containing an encrypted message; all the text surrounding the encrypted block is ignored.
If a text file including several encrypted messages is specified, only the first block is decrypted; to decrypt the rest of the message, use a text editor to extract the encrypted blocks to separate files.

The parameter /WE is similar to /UE, but the result is copied to Windows clipboard and is not saved to a file.

The parameter /WD is similar to /UD, but the message to be decrypted is acquired from Windows clipboard and saved to 'file' (if specified).

The parameter /W (de)crypts clipboard contents and save the result on the clipboard; if the clipboard holds clear text, at the end it will contain a single CYP95 MESSAGE block; if the clipboard holds encrypted text, at the end it will contain the original contents.

DE

Syntax:

DE [path [path..]] [/P] [/A.] [/O.] [/S] [/^] [/B | /W] [/V.] [/L | /U] [/F] [/X] [/I]

Description:

DE replaces internal command DIR; it supports all the parameters of DIR, including those specified in the environment variable DIRCMD and those preset in its own environment variable DECMD; additional features: files are coloured according to their extensions and can be configured by using the utility DESETUP; up to 8 files per row can be displayed, using a 132 column display and the parameter /W; extended wildcards are supported; attributes, date and time (including seconds) and real space occupied by each file/directory, separate counters for directories/files found, alphabetical sub-order (files are ordered according to the desired mode and then sub-ordered in alphabetical order); more than one pathname can be displayed with a single command.
See operating system manual for a description of the parameters and their meaning, or type DE /? for a short description; /F is a parameter added to redirect the output to a file, because by default DE sends its output directly to video; /^ activates blinking in place of high-intensity backgrounds.
The parameter /V allows to obtain additional information:

/V1 or /V
- space on disk and percentage of disk used;
- long filenames (under Windows);

/V2
- space on disk and percentage of disk used;
- both short and long filenames;
- creation date and time;
- date and time of last update;
- date and time of last access.

The parameter /U transforms all names to uppercase; /L does the opposite (all lowercase).

Under Windows, every pattern specified is first searched in the short name and then in the long name; to avoid searching the long names, use the parameter /X.
The parameter /V. has always precedence over /X: if you specify /V, /X is ignored.

The parameter /I allows to specify which data should be displayed, by adding one or more of the following characters:

S theorical size
D date
T time
A attributes
R real size

If /I or /I- is specified (no additional characters), all the information will be displayed. In simple verbose mode (/V1 or /V) under Windows, removing one or more additional information will allow for longer filenames to be displayed.
See DESETUP for learning how to configure DE.

DESETUP

Syntax:

DESETUP file

Description:

creates or replaces the overlay in DE.EXE, which includes information about extensions and associated colours, and the colours for: background, descriptions, attributes, date, time, real size, theorical size, label, directories, files without extensions, unclassified files and additional information. DESETUP requires a single parameter, the name of a text file with the required configuration, which must reside in the same directory of the copy of DE.EXE to be updated.
At the end of the operation, DE.EXE can be renamed or moved as will.

Configuration file structure:

- all lines which do not begin with ".", "/" or ":" are considered remarks and ignored;

- lines beginning with "/" are default startup parameters for DE (environment and command line parameters always bypass these parameters);

- basic colours are specified in this way:

:id colour [background]

- colours for different extensions are specified in this way:

.ext colour [background]

- values for ext, id, colour:

ext: any string of 1, 2 or 3 characters;

id can be one of these strings:

ID Default value
BACKGROUND NERO
INFO GIALLO
ATTRIBUTE BLUCHIARO
DATE ROSSOCHIARO
TIME VERDECHIARO
REALSIZE GIALLO
NOMINALSIZE CIANOCHIARO
LABEL ROSSOCHIARO
NUMBERS CIANOCHIARO
DIRECTORY MAGENTACHIARO
NOEXTENSION GRIGIOCHIARO
OTHERFILES GRIGIOCHIARO

When setting BACKGROUND, the optional second colour (if specified) is ignored.

Colour can be one of these strings:

BLACK
BLUE
GREEN
CYAN
RED
MAGENTA
BROWN
LIGHTGRAY
DARKGRAY
LIGHTBLUE
LIGHTGREEN
LIGHTCYAN
LIGHTRED
LIGHTMAGENTA
YELLOW
WHITE

- if blinking is enabled (option /^), colours above LIGHTGRAY for the background will make foreground text blinking, while the background will get the low-intensity colour;

- id and ext must be separated from the colour with at least one blank;

- only one id or extension is allowed for each line;

- if background is not specified, it is used the last colour set using :BACKGROUND (BLACK on startup);

- DESETUP is not case sensitive; if an unrecognized setting is found, the program quits without modifying DE;

- DESETUP does NOT verify the visibility of the selected combinations; it does not check if the extensions specified are allowed (i.e. contain characters allowed by DOS);

- if one or more basic colours are not specified, defaults are used.

DEFAULT.DE is the configuration file used to setup DE as shipped in the package.

EASYGO

Syntax:

EASYGO name.ext [/A]

Description:

creates a program for EASYMENU from a text file in GO-MENU(r) format, which may be described as follow:

- remarks begin with ';' (column 0);

- starting blank lines are ignored;

- first non-empty line is used for title;

- blank lines following first valid line advance option numbering, separating consecutive options; separation obtained with a single blank line is the same as that obtained with n blank lines;

- all other lines are options selectable through mouse, associated key or navigation+confirmation.

The created program is saved to file 'name.em'.

By default, selection keys are the 12 function keys; /A parameter, automatically selected if there are more than 12 options, associates keys A-Z and 0-9.

Errorlevel codes upon exit are:

F1..F12 -> 1..12         ESC -> 200
A..Z -> 1..26                0..9 -> 27..36

EASYMENU

Syntax:

EASYMENU [program [section] [section [..] /S] [/^] [/M] [/Jn] | /R]

Description:

interpreted language for the creation of interactive menus mouse, keyboard and joystick operated.

The format and text of menu options are specified in the program, which is run starting from the specified section, if present.

Use /M to force slow mouse reset, /J to enable joystick, /^ to restore blinking on exit. The first time a joystick is used, the device will be calibrated and calibration information will be saved to EASYMENU.JC.
A screensaver is run after 30 seconds of inactivity.

Using parameter /S, only the specified sections are loaded into memory.

Using parameter /R, EASYMENU sets only Dos errorlevel to 0 and exits immediately.

FBUILD

Syntax:

FBUILD script [/Ddest] [/R] [/Q] [/X]

Description:

rebuilds a file splitted through FSPLIT, using component files and generated script. Both script and files must reside in the same directory; script parameter can include multiple wildcard characters (* and ?).
FBUILD will stop if a part is missing or if the sum of the sizes is different from expected size. Recreated files have the same date, time and attributes of the original files, and are created in the source directory or in the directory specified with the parameter /D. A 32-bit CRC is calculated on the rebuilt file and compared with the expected CRC. Under Windows, long filename and creation date/time are also restored.

Parameters:
/D destination directory (default: source files directory);
/R removes source files after processing;
/Q no messages to screen;
/X excludes matches with long names (Win).

FFE

Syntax:

FFE [drive:][\dir\]filename [filename..] [/B] [/D | /F] [/I.] [/L] [/P] [/V.] [/X] [/Z]

Description:

finds file in current drive, in that specified or in all drives (/Z, except floppies), starting from dir. Any key pauses search, ESC key aborts.

Parameters:
/P pause search at each screenful
/B print full paths
/F search in files only
/D search in directories only
/X don't check long names for matches
/L print results in lowercase

The parameter /I allows to specify which data should be displayed, by adding one or more of the following characters:

S theorical size
D date
T time
A attributes
R real size

If /I or /I- is specified (no additional characters), all the information will be displayed.

The parameter /V allows to obtain additional information:

/V1 or /V
- space on disk and percentage of disk used;
- long filenames (under Windows);

/V2
- space on disk and percentage of disk used;
- both short and long filenames;
- creation date and time;
- date and time of last update;
- date and time of last access.

Parameters /B, /I, /L, /V, /P and /X can be preset in environment variables DIRCMD/DECMD.

Note:
Only the first file specified can include drive/directory specifications; the following names are searched in the same scope as the first one.
All names can include multiple wildcards * and ?. To override presets, use (-) before parameter letter.

FSPLIT

Syntax:

FSPLIT file [/Ddest] [/Nxx | /Sn] [/R] [/Q] [/X]

Description:

splits files into many files of size determined by the user and creates the script for FBUILD, which must be used later to join the splitted files. The extensions automatically used are: ".!!!" (script), ".!xx" (partial files), where xx is between 01 and 99. If parameter /N or /S is not specified, FSPLIT enters interactive mode and the user can set at will the sizes of the files created; on entering this mode, each file is initially split into two files about the same size; press U to join two files, D to split the file selected: left/right cursor keys move 1 Kb blocks between left and right file (use together with CTRL to move 10 Kb blocks); press C to confirm splitting according to the sizes displayed; press P to skip current file and process the next; press ESC to abort. A 32-bit CRC is calculated on the original file when is split, and is saved into the script for FSPLIT. Under Windows, long filenames are supported; the files created are based on the corresponding short filename. The parameter file can include more than one wildcard * and ?. Files are created in the source directory, unless /D is used.

Parameters:
/D destination directory (default: source files directory);
/N splits each file into xx files of the same size;
/S splits each file into files of size <= n Kb;
/R removes source files after processing;
/Q no messages to screen;
/X excludes matches with long names (Windows).

GETCH

Syntax:

GETCH [R] [?] [Kxyz..] [Ax=n/y=m/..] [U|C] [B] [Tx,n] [E] [H] [Pprompt ..]

Description:

waits for a keypress and returns setting error level to the corresponding ASCII code.

Parameters:

? show the codes for the keys pressed
A assign to any key a return code in the range 0-255
B acoustic signal to prompt for input
C case sensitive interpretation of keys pressed ('a' is not 'A')
E display the key pressed and accepted to screen, if printable
H show this help screen
K accept only specified keys (C-like constants allowed)
P display everything after P as input request to the user
R reset error level to 0
T input key x after n seconds of inactivity (default: 5 secs)
U case unsensitive interpretation of keys ('a' = 'A', default)

If parameters A/K are present, GETCH accepts only the specified keys.

Parameter P must always be the last argument on the command line.

When A or K are specified, only the specified keys are accepted.

Note: use GETCH H <enter> to display program help.

MAILCODE

Syntax:

MAILCODE inputfile [outputfile] [/D] [/U]

Description:

encodes files for sending through e-mail or decodes binary files received by e-mail; by default, it encodes using Base 64 format.
If '/D' is specified, files are decoded (input type is automatically detected); if '/U' is specified, files are encoded with UU algorithm.
Extensions used when encoding (and no outputfile specified): ".ASC" (base 64), ".UUE" (uuencoded).
If outputfile is specified when decoding, it will be used for decoded file regardless of the name embedded in inputfile.
Both inputfile and outputfile can be Windows long filenames; wildcards are NOT allowed in inputfile.
MAILCODE warns the user if a file already exists and gives the option of overwriting (source different from destination), skpping or changing destination file name.

MAILCODE does not handle splitted files; when decoding, first paste together all the sections into a single file (MAILCODE ignores blank lines interleaved); when encoding, split manually the resulting text by using a text editor.

PRSEND

Syntax:

PRSEND [+filename] [-string] [&string] [:port] [#n] [X]

Description:

sends filename and/or string to parallel port lpt (default is 1). If parameter & is specified, any occurrence of '_' in string is replaced by ' '; constants in C-like notation and escape sequences are supported. If parameter #n is specified (n>0), strings and files are sent n times to the printer in given order; X excludes matches with long names (under Windows).

On the command line, use in the strings the sequence (\42) instead of (") and \40 instead of space.

Note: filename can include multiple wildcards * and ?.

RF

Syntax:

RF file [file..] [/!] [/Q] [/Sfile [/Sfile..]] [/V] [/X]

Description:

removes specified files; before deletion, displays a list of matching filenames and the space that it would be freed; on confirmation, files are deleted.

Parameters:

/! overwrites files with binary 0s before unlinking;
/Q no messages to screen (unconditioned removal);
/S excludes "file" from deletion;
/V shows long file names (Windows);
/X excludes matches with long names (Windows).

Note:
- hidden, system or read-only files are also removed;
- "file" can include multiple wildcards * and ?;
- parameters /V and /X can be preset in environment vars DECMD/DIRCMD;
- to override preset, use (-) before parameter letter;
- does not work on directories (use RT).

RT

Syntax:

RT path [path..] [/Q]

Description:

removes tree with root path and all files included within; before deletion, it is displayed the number of files and directories that would be removed and the space that would be freed; on confirmation, files and directories are deleted.

Parameters:

/Q no messages to screen (unconditioned removal).

SF

Syntax:

SF file [file..] [/A[ħR][ħH][ħS][ħA]] [/Ddd/mm/yy] [/Thh:mm:ss] [/S] [/Q] [/CDdd/mm/yy] [/CThh:mm:ss] [/MDdd/mm/yy] [/MThh:mm:ss] [/Ldd/mm/yy] [/X]

Description:

sets attributes, date and time of specified files, or just the attributes of specified directories.
If an information is omitted, it is retained the current value for it, which is taken from file/dir.
In parameter /A, + set and - unset following attribute.
Parameter /S forces recursive processing of matching files in subdirectories.
Parameter /Q suppresses messages to screen.

Under Windows: /X excludes matches with long names; /C, /D, /L set date/time for creation, modification and last access, respectively (/MD = /D, /MT = /T).

File arguments can include multiple wildcards * and ?.

SZ-MENU

Syntax:

SZ-MENU menu.mnu [/K] [/M] [/Sfilename] [/Pn] [/Dx] [/C] [/I] [/Rfilename] [/Wfilename] [/U] [/Ln]

Description:

interactive menu - mouse, keyboard and joystick operated, similar to GO-MENU.

SZ-MENU offers many additional features:
- support for mouse and joystick;
- configurable screen saver;
- up to 255 options per page, on one or more columns (up to 99 pages of options);
- configurable colours for a single menu or for the standard menu;
- menu inclusion;
- recursive, parametrized macros;
- advanced functions to directly manage the menu;
- search in options;
- notepads and scoreboards for each option;
- direct parametrized execution of external programs;
- conditional execution.

Parameters:

/K disables joystick (forces the use of keyboard/mouse)
/M forces slow mouse reset
/S sets save-file name, used to keep last selection (default: menu.SAV)
/P offset in save-file to store last selection
/D selects default color combination number n (0-9)
/C configures default color settings
/I prints SELECT directive for current settings
/R reads setup info from filename
/W writes setup info to filename
/U deletes inaccessible fields from auxiliary file
/Ln writes to stdout menu options and then exits; n (= 0 by default) can be:
        0 - options only, 1 - scoreboards only, 2 - both (separated with TABs); add 3 to n if you want the selection key before each option

Script file format:
- start of line (column 0) determines line interpretation; in the following lines, c is any character other than ';':
;. -> directive (see pages 3/4);
:: -> method, associated to Esc (see pages 5/6);
;c -> remark (ignored);
c -> title or option;

- use '||' at the end of a line to split it into 2 or more lines;

- starting blank lines are ignored;

- first non-empty line is used for title;

- following blank lines advance option numbering, separating consecutive options; one or n blank lines have the same effect;

- all other lines are options selectable through mouse, associated key or navigation+confirmation.

Directives:
-
;.ASK ID [&file, offset, llen] [prompt[,len[,default]]]
;.CHOOSE ID [&file, offset, llen] [@]voice:string[,voice:string..]]

Associates to ID a string introduced by user (macro on request) or a string chosen from a set (choice macro); parameters &file, offset, llen save/reload user input/selection starting from offset in file using llen characters; '@' establishes pre-defined selection.

-
;.DEFINE ID string (predefined macro: expansion after loading)
;.DECLARE ID string (postdefined macro: expansion at selection)
Associates string to ID (predefined/postdefined macro). All macros are expanded in this way: $(ID[:par1[,par2..]]) where parx replaces each occurrence of %x (x = 1..9) in macro string.

-
;.GET ID env_var
Associates environment variable env_var to ID (environment macro).

-
;.READ ID filename, offset, length
Associates string from offset in filename to ID (loadable macro).

-
;.LOOKUP [@]ID [&file] [prompt[,len[,default]]]
Associates to ID a string looked up in 'file' (menu.DIZ if not specified). This is called 'lookup macro'; the dictionary file is a text file which is read and rewritten as needed; it consists in a series of lines of the kind 'ID: value'. '@ID' means that the macro is global (find and replace the line corresponding to ID in 'file'), while 'ID' means that the macro is local (find and replace the line corresponding to the idnotepad of the currently selected option); SHIFT-TAB and CTRL-TAB allow to modify the values for local and global macros, respectively.

-
;.PATH ID +parameters [&file, offset, llen] [prompt[,len[,default]]]
Associates to ID a file or directory name (path macro), saved and reloaded in llen characters on file; parameters: P allows path; D asks dir name; F asks file name (default); E accepts only existing pathnames; B ends dir names with '\'; W allows Windows names; U upper case names.

-
;.HOTKEY key ::method [::method ..]
Associates a chain of methods to the specified key (whose codes can be obtained with 'GETCH ?'); pre-defined navigation keys cannot be redefined.

-
;.DEFAULT [0-9] Selects one of ten predefined setup.

-
;.INCLUDE filename Processes filename before proceeding.

-
;.NEWPAGE [title] Starts a new page and optionally changes title.

-
;.SAVE filename [position]
Saves/reloads last selection to/from filename, at offset position.

-
;.SELECT <parameter> <value> | value, value, ...
Settings to be used for current menu.

-
;.VIDEO [0|1|2|3] Set number of rows (0=current, 1=25, 2=43, 3=50).

Execution methods/scoreboard/notepad:

Every option has the following syntax ([] means optional):
[ option ] [ <>scoreboard ] [ ><idnotepad ] [ ::method ... ]

The scoreboard is a text printed on the first/last line of the screen, when the option is highlighted; idnotepad specifies a buffer name used to take notes (use TAB to access it when option is highlighted).

If "option" is missing, methods are associated to Esc.

- ::MENU menu.mnu [/Px] [/Sfilename] [/Dn]
Control passes to a new menu, that replaces current one in memory.

-
::OVL string runs string and exits to Dos
::RUNxx string runs string and returns to menu
::SYSxx string runs string (batch files and internal commands too)
Possible suffixes (xx = P, W, WP, X, WX):
W -> swap SZ-MENU out of memory before running child process
P -> wait for keypress after child process ends
X -> exits to Dos when child ends (SYS only)

Other methods:

-
::IF [NOT] [EL [op n] | [exp] | EXIST pathname] ::method [::method..] [::ELSE ::method [::method..]] ::FI
Conditional execution of methods; op can be =, !=, >=, <=, > or <; [exp] passes exp to TEST command; EL stands for current errorlevel.

-
::EXIT n Exits with errorlevel n (default: n = option number).
-
::NOP Does nothing upon selection.
-
::OSD t, text Shows text in a window for t sec. (0 = wait keypress).
-
::SET env_var string / ::SETX env_var string
Sets environment variable env_var to string, exiting (if SETX).

-
::WRITE file, offset, l, string
::CWRITE file, offset, l, string
(with C-Like constants)
Writes l characters of string to file, starting at offset.

-
::KFLUSH Empties keyboard buffer.

Error codes reported:
0 instructions, normal termination
1 file not found, wrong file extension
2 read/write error
3 syntax error in script file
4 executable not found, justification error
5 too many recursion, out of memory, environment overflow
x Esc key (200) or selected option order number

Active keys:
press ALT-H to see a list of keys and their functions at the moment.

Suggestions:
Macros ASK/CHOOSE/DECLARE/PATH/LOOKUP are all expanded before starting the execution of first method in chain; macros GET and READ are expanded on first occurence in the chain and retain their value until the end of the chain; DEFINE macros are expanded before menu is initially displayed.
Errorlevel (EL) is always 0 after the execution of a SYSx method. For more information, please consult the user manual.

Navigation keys:
cursor keys move selection
HOME/END first/last option on the page
PgUp/PgDn change page
TAB opens option notepad
CTRL-PgUp/CTRL-PgDn first/last page
\ or / search a string inside options/scoreboards
+/- continue searching onwards/backwards

Left mouse button selects option, or changes page (when over buttons on the top right corner). Right mouse button corresponds to ESC (exit).

A joystick can be used to replace cursor keys on the keyboard; besides, these combinations have the following meaning:

fire 1 selects option
fire 2 + up previous page
fire 2 + down next page
fire 2 + fire 1 exit (press first fire 2, otherwise you will select an option)

The first time a joystick is used the device will be calibrated and the calibration information will be saved to SZ-MENU.JC in the directory of SZ-MENU.EXE.

The search made by SZ-MENU is always case-unsensitive; besides, multiple wildcards "*" and "?" are allowed (SZ-MENU adds a single "*" before and after the value typed before starting the search).
All blank options at the end are ignored. If the number of options per page is greater than 12, SZ-MENU shifts to using alphabetical characters; if the number is greater than 36, SZ-MENU disable hotkeys for direct selection.
When forcing function keys (1) or alphabetical letters (2), SZ-MENU will always use the specified hotkeys, limiting the number of options per page.
This table explains the behaviour in detail:

Hotkeys Options <= 12 Options <= 36 Options > 36
0 function keys A-Z 0-9 only navigation
1 function keys function keys function keys
2 A-Z 0-9 A-Z 0-9 A-Z 0-9
3 only navigation only navigation only navigation


T2T

Syntax:

T2T source [/n] [/A] [/Cxy] [/Ddest] [/K] [/Q] [/X]

Description:

Translates text files from a format to another (Dos/Win-Unix-Macintosh), optionally replacing tabs and accented vowels.

Parameters:

/n tab column interval for tab expansion (0 = no tab substitution);
/A convert accented vowels (to/from Dos);
/C force conversion from x (source) to y (destination); x/y = D, M or U (Dos, Macintosh or Unix); to convert from Dos to Latin 1 (and viceversa) use: /CDW and /CWD;
/D destination directory (default: use source files directory);
/K keeps original file names (use with /D);
/Q no messages to screen;
/X excludes matches with long names (Windows).

Note:
- source can include multiple wildcards * and ?;
- destination will assume source name and extension based upon destination type:
Unix -> .UNX
Dos -> .DOS
Macintosh -> .MAC
Latin 1 -> .WIN

TEST

Syntax:

TEST {--verbose} [ expr ]
TEST {--verbose} expr
TEST {--help, --version}

Description:

set errorlevel to 0 if expr is true, 1 otherwise. Expressions can be negated by prefixing '!' and combined through '-a' (AND), '-o' (OR), ( parenthesis ).
'[' and ']' are optional; parenthesis must always be separated from arguments.

Operators on pathname (op pathname):
-e     file or directory exists
-f -r   file exists (-r = -f)
-d -L  directory/link (-L) exists
-w       file exists and is writable
-x -P   file is executable/in path (-P)
-s -Z   file has size > 0 / = 0 (-Z)
-b -c   file is -block/-character special
-m[n]  file was modified in n days (default: n = 1 day)

Operators on string (op string):
-z empty               -n not empty
-l string length     -B file length

Operators on 2 strings (s1 op s2):
= equal     != different       ~ match (s2 rex)
in s1 $ s2          x= path op [x=f/n/e/d/D/p]

Operators on 2 files (f1 op f2):
-nt f1 newer             -ot f1 older
-sd same date        -ss same size

Operators on path/drive (op path):
-? disk ready
-! disk writable
-^ disk supports long file names

Operators on 2 integers (n1 op n2):
-eq =               -lt <              -le <=
-ne !=              -gt >             -ge >=

Further explanation of the x= operator:

pathname1 x= pathname2
x = True if..
f same filename (name + extension)
n same name
e same extension
d same drive
D same directory
p same path (drive + directory)

Special parameters:

--help prints instructions and returns TRUE; if no parameter is specified, --help is automatically triggered

--version
prints program version and returns TRUE

--verbose
prints "True" or "False" according to the value of the expression; the errorlevel is set as usual.

TESTDISK

Syntax:

TESTDISK [drive:][\\dir\\]file [file..] [/L] [/P] [/V] [/X]

Description:

reads files in current drive or in that specified, starting from dir; on read error, the file name is printed to standard out. Any key pauses search, ESC key aborts.

Parameters:

/P pause search at each screenful;
/X don't check long names for matches;
/L lowercase;
/V print long names (Windows).

Parameters /L, /V, /P and /X can be preset in the environment variables DIRCMD/DECMD.

Note:
Only the first file specified can include drive/directory specs; following names are searched in the same scope as the first one. All names can include multiple wildcards * and ?.
To override preset, use (-) before parameter letter.

WILD

Syntax:

WILD [+]file | /n [.s0] [-s1] [:s2] [;s3] [+s4] [Sz:s5] [Xs:r;i] [Ys:r;i] [=] [R] [D[command]] [A] [$ | !] [O[-][NEDS]] [E[W]] [@dest] [&script] [V] [K] [L] [U]

Description:

batch file generator, with automatic wild card expansion.

First parameter:
file file/directory specification, with extended wildcards (multiple characters '*' and '?')

+file file list (one for each line); each name ending in '\' is considered a directory

/n works as if n files were found; path, name and extension are expanded to empty strings

String parameters:
.s0 -s1 :s2 ;s3 +s4 Sz:s5

Strings to be written on output file; s0 strings are all written at the beginning, s4 strings at the end, s5 strings every z files found; s1/s2/s3 strings are repeated for each file/directory found; s0, s2, s4 and s5 can include C-like constants for special characters:

\a \b \f \n \r \t \v \\ \? \' \"
\... where ... stands for 1 to 3 octal digits (0-7)
\x.. where .. stands for 1 or 2 hexadecimal digits (0-9, a-f, A-F)
\d... where ... stands for 1 to 3 decimal digits (0-9)

s1 can include these special characters:

_ space * file name ? extension # name+extension
^ drive (x:) $ drive+path &x x counter &y y counter

If no s1 strings are specified, by default is used '$#'. All strings are written in the order in which they were specified.

General parameters:
= exits at directory containing produced file
R appends "@CD dir" to dest, where dir is launch directory
D appends "@DEL dest" to dest, or "@com dest"
A appends output to dest, if it already exists
$ processes only directories found (default: only files)
! processes both files and directories (default: only files)
O sorts files by Name, Extension, Date, Size (- reverses order)
E runs created batch file directly (swapping out of memory, if EW)
@ writes to file dest, instead of using WILDLST.BAT
& reads options from script file (one option per line)
V uses long names (under Windows)
K excludes matches with long names (under Windows)
L converts pathnames to lower case
U converts pathnames to upper case

Counters:
Xs:r;i Ys:r;i
Sets counters: s is the initial value of the counter, r is the value after which (or before which, depending on the sign of i) counter is reset to s, i is the increment; X counter is advanced at each new file/dir, Y counter at every X reset.

Tips:
To avoid that Ms-Dos reports an error when batch file is auto-deleted (D parameter), use parameter Ddelbat after having created in current path the file DELBAT.BAT containing the single command: @DEL %1

Every round (writing of all strings s1-s3) is ended by writing characters CR+LF, while no character is added after writing s0/s4/s5

Using parameter V, pathnames should be enclosed in double quotes (under Windows, space is admitted in file names); on the command line, use (\42) instead of ("), to avoid unwanted parameter splitting

Notes for scripts:
- the script must be a DOS text file;
- all the command line parameters accepted by WILD are valid, except for & (read script); every option must be specified in a separate line and must begin at column 0; TIP: use the first line to describe the script and the last line to signal EOF
- the character which identifies the option MUST BE on column 0; TIP: to temporarily comment-out a line, insert a "#" for prefix;
- every line must be below 1000 characters;
- s1 and s2 strings can be at most 100;
- when the parameter V is specified, it is advisable to enclose pathname between quotes (under Windows, spaces are allowed inside file names); on the command line, use (\42) in place of (") to avoid confusion;
- the maximum number of s1/s2/s3 strings is 100;
- the maximum number of s0 strings is 50;
- the maximum number of s4 strings is 50;
- the maximum number of s5 strings is 50.

See EXAMPLES.DOC for a few useful application of WILD, and WILD.SCR for information on writing script files and using program options.

Versions

Utilities for Dos/Windows; freeware/GNU General Public License 2.0.
Last version: 1.95 / English.

Download

Download EaSZy (version 1.95 for Dos/Windows)

Top of page
Midnight Lake iPhone Case Black Women Shoes Black Flat Shoes Leather Flats Black Patent Ballerinas Black Ballet Shoes Casual Shoes Black Shoes Women Balle Record Player Cufflinks Best iPhone XR Clear Cases iPhone XS/XS Max Leather Cases Sale Best iPhone 8/8 Plus Silicone Cases iPhone 7/7 Plus Cases & Screen Protector New Cases For iPhone 6/6 Plus iPhone 8 Case Sale iPhone Xr Case Online iPhone 7 Case UK Online iPhone X Case UK Sale iPhone X Case Deals iPhone Xs Case New Case For iPhone Xr UK Online Case For iPhone 8 UK Outlet Fashion Silver Cufflinks For Men Best Mens Cufflinks Outlet Online The Gold Cufflinks Shop Online Cheap Shirt Cufflinks On Sale Nice Wedding Cufflinks UK Online Top Black Cufflinks UK Online Mens Cufflinks Online Silver Cufflinks For Men Men Cufflinks UK Sale Gold Cufflinks UK Online Gold Cufflinks UK Silver Cufflinks UK Shirt Cufflinks Discount Online Mens Cufflinks Deals & Sales Girls Shoes For Dance Fashion Ballet Dance Shoes Best Ballet Flats Shoes UK Online Cheap Ballet Pointe Shoes UK Online Best Ballet Shoes Outlet Best Dance Shoes Sale Cheap Ballet Flats Sale UK Best Pointe Shoes Online UK Ballet Dance Shoes UK Shoes For Dance UK Best Ballet Slippers Shop Best Yoga Shoes Hotsell