EaSZy
- Utilities for Dos |
![[EaSZy]](easzy64.gif)
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) |
|
All the programs, except GETCH, print a brief summary about their usage when run without parameters.
CRCALL filename [filename..] [/V.] [/X]
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.
| /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 file [key0 .. [key9]] [/C | /Q] [/Ddest] [/Fkeyfile] [/K[+|-]set | ?[set] | !] [/M] [/N] [/R] [/Sx:y] [/X] [/T] [/UE | /UD] [/W | /WD | /WE]
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 ?.
/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 [path [path..]] [/P] [/A.] [/O.] [/S] [/^] [/B | /W] [/V.] [/L | /U] [/F] [/X] [/I]
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 file
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 name.ext [/A]
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 [program [section] [section [..] /S] [/^] [/M] [/Jn] | /R]
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 script [/Ddest] [/R] [/Q] [/X]
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 [drive:][\dir\]filename [filename..] [/B] [/D | /F] [/I.] [/L] [/P] [/V.] [/X] [/Z]
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 file [/Ddest] [/Nxx | /Sn] [/R] [/Q] [/X]
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 [R] [?] [Kxyz..] [Ax=n/y=m/..] [U|C] [B] [Tx,n] [E] [H] [Pprompt ..]
waits for a keypress and returns setting error level to the corresponding ASCII code.
? 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 inputfile [outputfile] [/D] [/U]
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 [+filename] [-string] [&string] [:port] [#n] [X]
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 file [file..] [/!] [/Q] [/Sfile [/Sfile..]] [/V] [/X]
removes specified files; before deletion, displays a list of matching filenames and the space that it would be freed; on confirmation, files are deleted.
/! 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 path [path..] [/Q]
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.
/Q no messages to screen (unconditioned removal).
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]
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 menu.mnu [/K] [/M] [/Sfilename] [/Pn] [/Dx] [/C] [/I] [/Rfilename] [/Wfilename] [/U] [/Ln]
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.
/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 source [/n] [/A] [/Cxy] [/Ddest] [/K] [/Q] [/X]
Translates text files from a format to another (Dos/Win-Unix-Macintosh), optionally replacing tabs and accented vowels.
/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 {--verbose} [ expr ]
TEST {--verbose} expr
TEST {--help, --version}
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 [drive:][\\dir\\]file [file..] [/L] [/P] [/V] [/X]
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.
/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 [+]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]
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 |