Leigh Brasington's Win/9x/ME/NT/2000/XP/Vi ShareWare
This page contains shareware and freeware that I've written and that you might find useful.
It is all 32 bit software for Win/95/98/ME and Win/NT/2000/XP/Vi.
Releases:
UDP
intrasrv
wgetall
instmpl8
SetCurPos
TodayAt
calnsert
cal16
calyr
ShowFont
DoIt
Traverse
FixClip
ClipBook
CopyThis
CopyFile
SplitIt
cvtcrd
lsed
lgrep
dump
tighthtm
pathof
Beta Programs:
cmder 2009/07/01
UDP: The Unicode Document Processor Windows Application
UDP is a stand-alone document processing program that works with Unicode
fonts in the Win/98/ME and Win/NT/2K/XP/Vi environments.
It supports not only word processing and databases in multiple languages,
it also supports faxing and "one-click" e-mailing. UDP is a powerful document processor with
many more features than are found in other free word processors such as WordPad.
It is freeware and is available for FREE download.
FDP: The Free Document Processor is an ANSI and Diacritical fonts only version of UDP.
UDP is available both of these locations:
http://udp.leighb.com &
http://www.oocities.org/potalasw/udp
IntraSrv: Simple Web Server Console Application
This is a small web server that you can run to allow a directory and all its subdirectories to be accessible via a web browser. You will only want to do this on a local network (LAN) that is protected by a hardware firewall (such as a Linksys or D-Link Firewall Router). This little web server was built from the Visual C - wsrv at Web Programming with Sockets. More info here.
wgetall: Simple HTTP downloader Console Application
This program will download a file via HTTP, save it in the current directory, then download all the files pointed to by downloaded file. It is primarily intended to use with IntraSrv to grab all the files pointed to by a page IntraSrv is displaying. But it can also be used to grab all the files pointed to by any HTML page on the internet (currently there is no support for cgi, php, asp, etc. pages).
This simple HTTP reader was built from the Visual C - wget at Web Programming with Sockets. More info here.
instmpl8.exe (stored in instmpl8.zip - 15,174 bytes) Console Application
This is a program to insert a template into an HTML file. It is very useful if you have a menu (for example) that occurs on a number of pages and you want to change the menu in all pages quickly and easily. Make a template HTML file that contains your menu and surround it above and below with markers like
<!-- BEGIN AUTO INSERTION BLOCK OF menu template -->
[your menu code goes here]
<!-- END AUTO INSERTION BLOCK OF menu template -->
Then surround the menu in each of your web pages with the same markers. When you run instmpl8.exe against each web page, whatever is between the markers is removed and replaced with what ever is between the markers in the template file.
Usage is instmpl8.exe [Template-file] [Target-file]
The markers being looked for are
"<!-- BEGIN AUTO INSERTION BLOCK OF "
"<!-- END AUTO INSERTION BLOCK OF "
(The quotes are not included, of course).
There must be only one set of markers in the [Template-file].
A log file will be found in the same folder as instmpl8.exe if there are any errors.
TodayAt.exe (stored in todayat.zip - 27,363 bytes) Windows Application
This is a simple Alarm program. Run it from the Start > Run dialogbox (or a DOS box). It takes a time (HH:MM) or minutes (:MM) and disappears. Examples:
todayat 9:45a
todayat 21:50 - You can even add a comment
todayat :30
It rings the alarm when the time is up and reappears. You can re-show and re-hide the Alarm Window(s) by running todayat show or todayat hide. Unzip todayat.zip and place both files in your PATH (e.g. c:\windows). Run todayat with no arguments (or /?) to see more options. You can change the alarm sound by replacing the TodayAt.wav file in the same folder as TodayAt.exe - just copy the desired WAV file over the existing TodayAt.wav.
SetCurPos.exe (stored in setcurpos.zip - 10,503 bytes) Windows Application
This program takes 2 numbers as command line input and positions the cursor at that location on the screen. The first number is the horizontal offset; the second number is the vertical offset. The numbers can be a plain number (e.g. 320) or a single arithmetic operation (640/2). If a number is greater than your screen dimensions, it is converted to your screen dimension - this makes it possible to set the cursor based on the current resolution of your screen (e.g. 9999/2 is converted to half your screen's width or height).
Examples:
setcurpos 0 0 | | Cursor to upper left |
setcurpos 12 60 | | Cursor to upper left - perhaps to the Back button on your browser |
setcurpos 9999/2 9999/2 | | Cursor to center of screen |
setcurpos 20 9999-10 | | Cursor to Start button |
Why is this useful? If you create Shortcuts on your desktop and set their Shortcut Keys, you can instantly jump the cursor to a location on your screen with just a Ctrl+Alt+Key. If you make 9 such shortcuts and make the Shortcut Keys be the numerical keypad keys, you have a visually mnemonic way to jump your cursor to various locations on your screen. This can be especially useful on a laptop with a limited pointing device (joystick or touch pad). [Note: When creating Shortcut Keys in a Shortcut, position your caret in the Shortcut Key field and press the desired key - do not also press Ctrl+Alt - they will be added automatically.]
The are also 3 possible command line flags to SetCurPos.exe:
- -g Get the current cursor position and save it in SetCurPos.txt
- -s Set the cursor position to the value saved in SetCurPos.txt
- -r Become memory Resident (hides itself - run again to unhide)
For the first 2 above, you will want to make shortcuts with Ctrl+Alt accelerators (I use the - and + on the Numerical Keypad); the 3rd is useful in your Startup program group.
calnsert.exe (stored in calnsert.zip - 19,541 bytes) Console Application
If you want to add a calendar for this month to an HTML file, add the
following 2 lines to the HTML file where you want the calendar inserted:
<!-- Insert Calendar Below -->
<!-- Insert Calendar Above -->
Then run calnsert.exe name-of-HTML-file and this month's calendar
will be inserted. Today's day will be in red. If you want today's day to be
a link, run calnsert.exe name-of-HTML-file http://some.url and
today's day will link to http://some.url. You can see an example of this
by clicking here.
cal16.exe (stored in cal16.zip - 18,740 bytes) Console Application
Run Cal16.exe to generate a 16 month HTML calendar starting from this month. You can add
this program to your StartUp program group to automatically generate a new 16 month
calendar whenever you boot your system. The output will be in calendar16.htm
in the same directory that you are in when you run cal16.exe. You can add a numerical argument to generate more than 16 months - eg. for a 36 month calendar, run cal16 36.
calyr.exe (stored in calyr.zip - 21,525) Windows Application
This program can generate an HTML Gregorian calendar for any year from 1701 to 2500 and will automatically display it in your browser. If you run it with no command line arguments, it will display a dialog where you can enter the year as well as other formatting values.
ShowFont.exe (stored in showfont.zip - 15,272 bytes) Windows Application
Want a quick way to see all the fonts installed on your system and what they look like?
Run this program and it will create an HTML file in your %TEMP% directory and then
run your browser to display it (provided your browser is installed correctly to handle
*.htm files).
DoIt.exe (stored in doit.zip - 12,766 bytes) Windows Application
Ever want to run a Windows Application from a batch file on Win/NT or Win/2000 and have
the batch file continue on like it does on Win/95/98/ME? If the batch file line
just executes a Windows Application with certain flags, you can use this program
to do just that.
Example: Running the Netscape E-Mail application
- Change to a directory that is in your path
- copy DoIt.exe NSmail.exe
- echo "C:\Program Files\Netscape\Communicator\Program\netscape.exe" -mail > NSmail.dat
Now just add the following to your batch file:
You can also set up a program with certain flags to run from a Command Prompt and not wait:
Example: Calling myeditor with certain flags set:
- Change to a directory that is in your path
- copy DoIt.exe ed.exe
- echo c:\mypath\myeditor.exe -flags > ed.dat
Now just type:
C:\any\path>ed filename.ext
Note that the copy of DoIt.exe with a new name and the *.Dat file must have the same
BaseName and must reside in the same directory.
Traverse.exe (stored in traverse.zip - 13,008 bytes) Console Application
Ever wanted to run some program or batch file in a directory and in all its subdirectories? Traverse.exe lets you do exactly that. Type traverse followed by the command line you want run and away you go.
Examples:
traverse del *.bak
traverse grep printf *.c
Usage is traverse {-flag(s)} [some command line to run]
The given command will be run in the current directory & all subdirectories
the optional echo -flag can be one of the following:
-q echos nothing
-d echos the drive:directory as each is entered
-o echos the directories without any drive
-D only echos the command followed by the drive:directory in quotes
-O only echos the command followed by the directory in quotes
(-D and -O do not actually run the command - they only echo)
(Default is to echo drive:directory and command)
the optional limit -flag limits the depth of subdirectories
-0 only the current directory, no subdirectories
-1 the current directory and its subdirectories
-2 the current directory, its subdirectories and their subdirectories
-N where N is a number: current dir, and subdirs to N levels
UnInst1d.Exe (stored in uninst1d.zip - 14,455 bytes) Windows Application
Do you want to use InstallShieldŽ to install multiple products in a single
directory, but are afraid (or know for sure) that the UnInstallShieldŽ will
remove shared files? Here's a program that will fix that. When you do your
install, add UnInst1d.Exe to that single directory and run it.
Then whenever you install another product in that directory using InstallShieldŽ
run UnInst1d.Exe again.
What running UnInst1d.Exe does is add its own name to the front of the
UninstallString key at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\Uninstall\<AppName>
where <AppName> was set by the entry in the Application Name field of
the Application Information dialog in InstallShieldŽ. Then when the uninstall
is run from the ControlPanel/AddRemovePrograms dialog box, UnInst1d.Exe is
called with a command line of UnInstallShieldŽ command. UnInst1d.Exe makes
all *.dll, *.txt and *.isr files read-only; spawns the UnInstallShieldŽ
command; then marks all *.dll, *.txt and *.isr files as read-write again
after InstallShieldŽ finishes.
If there are other files besides *.dll, *.txt
and *.isr that you need to prevent from being prematurely uninstalled,
create a file named Uninst1d.txt that contains a single ANSI text line
with each filename (they can include * and ?) separated by one space. Maximum
additional filenames is 30 using no more than 500 bytes. Add this Uninst1d.txt
file to the directory along with Uninst1d.Exe.
If there is only one package left in the directory, when it is uninstalled,
Uninst1d.Exe does nothing except spawn UnInstallShieldŽ and immediately
exit so all files are removed including itself.
If you distribute Uninst1d.Exe as part of a commercial package, please
read the note that can be seen in the Windows Explorer File/Properties dialog
box for Uninst1d.Exe in the Version tab at the Legal Trademarks entry
and pay the appropriate fee.
Note: UnInst1d.Exe only works with InstallShieldŽ and UnInstallShieldŽ
FixClip.Exe (stored in fixclip.zip - 9,907 bytes) Windows Application
I wrote this because I was annoyed
that when copying and pasting in a Win/95 DOS box, I kept getting a CR/LF
at the end of everything I pasted (unlike in Win/NT). This program removes
that "extra" CR/LF, so that Win/95 DOS boxes behave like Win/NT DOS boxes.
I found that having the contents of the ClipBoard always available - it's the
title of this program's window - was also very useful. I run this program
minimized, but the ClipBoard contents are now available on the TaskBar.
See the Help menu item for more features.
ClipBook.Exe (stored in clipbook.zip - 23,054 bytes) Windows Application
[Updated 2 Nov '08.]
This is an expanded version of FixClip.Exe which remembers previous clipboard
entries. It has two ways of remembering and reusing clipboard entries:
- It automatically stores previous ClipBoard entries of type TEXT and OEMTEXT.
If there is a horizontal scrollbar at the bottom of the window, there are
previous ClipBoard entries available - use the scrollbar to view them.
If you find an entry that you would like to be the current contents of the
ClipBoard, press the "Copy to ClipBoard" button just above the scrollbar.
The previous entries (up to 32 of them) are stored in an internal 4096 byte
buffer. This buffer is saved to disk when the program exits or File/SaveBuffer
is selected. They are stored in most-recently-used order.
Only TEXT and OEMTEXT entries are saved and only if they are less than 1024 bytes long.
- You can place numeric markers on ClipBoard entries
so that they can be retrieved to the ClipBoard with a single keystroke.
To mark the currently displayed entry, press the letter 'm' and then press
a number between 0 and 9. To retrieve a marked entry, simply press the number
you used to mark it and it will be copied to the clipboard.
Entries of type TEXT, OEMTEXT and RTF can be marked and retrieved.
There is an extensive Help system - see the Help menu item for more features.
copythis.exe (stored in copythis.zip - 5,995 bytes) Windows Application
This program copies its command line to the clipboard.
It is most useful when used with a Shortcut Icon that has a 'shortcut key'
(i.e. Ctrl-Alt-someletter). You can build various shortcuts that have command
lines that are things that you type very frequently. Then press Ctrl-Alt and
the right letter and you load the clipboard; press Ctrl-V (usually) and you've
typed the whole string in just 2 keystrokes. You can also preload the clipboard
at boot time by putting such a shortcut in your Startup program group.
This program has no visible window and terminates immediately after copying
its command line to the clipboard.
copythis2.exe (stored in copythis2.zip - 9,524 bytes) Windows Application
Like copythis but with three optional command line flags: /f /q and /i
/f means that what follows is a full path & file name and to copy only the file name part to the clipboard:
copythis2 /f c:/dir/filename.ext => filename.ext
/q means strip any leading/trailing quotes from what follows:
copythis2 /f /q "C:\Program Files\Dir\File Name.ext" => File Name.ext
/i must be the last option and means ignore and just copy what follows as is -- so you can use copythis2
with Unix file paths or anything else that starts with a /:
copythis2 /i /fredunix/dir/filename.ext => /fredunix/dir/filename.ext
This was suggested by a user of copythis who wrote:
I'm using your CopyThis utility in my WinXP SendTo menu as a simple way to copy
a path/filename to the clipboard. It works just fine, but I'd would like to have the possibility to just copy the
filepart of the path. Would it be possible for you to add a /f option to
CopyThis that does this?
copyfile.exe (stored in copyfile.zip - 15,612 bytes) Windows Application
This program copies the contents of a given file to the clipboard. The file can be given on the command line or if there is no command line, a standard File - Open dialog is displayed for you to enter the file name. The contents of the file are inserted as CF_TEXT (plain text) no matter what the file type is.
This program has no visible window and terminates immediately after copying
the file to the clipboard.
CopyFile can be used with batch files to quickly place data on the clipboard. Here's an example of a batch file that will copy the current date and time to the clipboard:
@echo off
date /T > %temp%\now.txt
time /T >>%temp%\now.txt
copyfile %temp%\now.txt
del %temp%\now.txt
cvtcrd.exe (stored in cvtcrd.zip - 14,303 bytes) Console Application
[Updated 15 Sept '00 to handle *.crd files up to 256KB.]
Got an old CARDFILE (*.CRD) file that you want to convert to something you
can read these days since Bill Gates no longer supports this format?
Download this program, run it on the command line in a DOS box giving it the
CARDFILE file name and an output file name to convert your CARDFILE to a
tab delimited file.
lsed.exe (stored in lsed.zip - 15,429 bytes) Console Application
Want to do a find and replace in a whole set of text files where you use a for loop
and sed - but the find or replace string has things like < or > or |
or a weird mixture of spaces and tabs? You can do this with lsed provided
the whole find-string in on a single line. You create a file with the find-string
and another file with the replace-string (which may contain multiple lines) and run
lsed
Usage is lsed [find-str-file] [replace-str-file] [input-file]
where
- [find-str-file] is a one line file containing the text to find,
- [replace-str-file] is a one line file containing the text to replace
the found text. This file could consist of just a CR LF,
- [input-file] saved with extension BAK; it must not have extension TMP
Example: for %h in (*.ht*) do lsed find.txt replace.txt %h
lgrep.exe (stored in lgrep.zip - 35,980 bytes) Console Application
I use the ol' unix GREP all the time. But some of the DOS - Win/XX
versions don't do exactly what I want do sometimes. So I wrote my own.
The best feature of this is the "context" grep - it shows surrounding lines
when it gets a hit. The following is taken from the "lgrep -?" help message:
Usage is lgrep {options} [pattern] [filename]
[pattern] is matched against lines of [filename]
{options} are as follows:
-c Output to stdout is matching lines of [fiilename]
with 10 lines preceding the matched line
& 12 following the matched line
-# Output to stdout is matching lines of [fiilename]
where # <= 50 is number of lines to print as context
with #/2 lines preceding the matched line
& #/2 following the matched line
-#1:#2 Output to stdout is matching lines off [filename]
with #1 lines preceding the matched line
& #2 following the matched line
-b matches only at beginning of line
-e matches only at end of line
-i ignore case
-w matches words
-v print lines where pattern is NOT found (ssets #==1)
-t precedes file with a title line
-n line-numbers each line and *'s each matchhed line
-p pauses after each context (ignored with --v)
dump.exe (stored in dump.zip - 14,323 bytes) Console Application
Want to see exactly what's in a file? dump will dump the contents of a file to your screen in both hexidecimal and ascii formats, 16 characters per line:
C:\dir>dump 20-ff.txt
00000000 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F !"#$%&'()*+,-./
00000010 0D 0A 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D ˇ▪0123456789:;<=
00000020 3E 3F 0D 0A 40 41 42 43 44 45 46 47 48 49 4A 4B >?ˇ▪@ABCDEFGHIJK
00000030 4C 4D 4E 4F 0D 0A 50 51 52 53 54 55 56 57 58 59 LMNOˇ▪PQRSTUVWXY
00000040 5A 5B 5C 5D 5E 5F 0D 0A 60 61 62 63 64 65 66 67 Z[\]^_ˇ▪`abcdefg
00000050 68 69 6A 6B 6C 6D 6E 6F 0D 0A 70 71 72 73 74 75 hijklmnoˇ▪pqrstu
00000060 76 77 78 79 7A 7B 7C 7D 7E 7F 0D 0A 80 81 82 83 vwxyz{|}~.ˇ▪....
00000070 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 0D 0A 90 91 ............ˇ▪..
00000080 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F 0D 0A ..............ˇ▪
00000090 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF ................
000000A0 0D 0A B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD ˇ▪..............
000000B0 BE BF 0D 0A C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB ..ˇ▪............
000000C0 CC CD CE CF 0D 0A D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 ....ˇ▪..........
000000D0 DA DB DC DD DE DF 0D 0A E0 E1 E2 E3 E4 E5 E6 E7 ......ˇ▪........
000000E0 E8 E9 EA EB EC ED EE EF 0D 0A F0 F1 F2 F3 F4 F5 ........ˇ▪......
000000F0 F6 F7 F8 F9 FA FB FC FD FE FF 0D 0A ..........ˇ▪
Usage is dump {flag} [input-file]
{flag} is -a or -q or -x where
-a output ansi instead of ascii (only useful if redirecting to a file for viewing with e.g. notepad, wordpad, etc)
-q no hex counter; no ascii (no first & last columns)
-x -q plus prefix with 0x for C/C++
-? will print this help message
tighthtm.exe (stored in tighthtm.zip - 14,177 bytes) Console Application
This little program removes extra whitespace and blank lines from HTML files. It does not alter whatever is enclosed in <pre> </pre> tags.
Usage is tighthtm.exe [input-file] [output-file]
pathof.exe (stored in pathof.zip - 13,022 bytes) Console Application
Now you can easily find out the full path of a command.
Usage is pathof.exe [command]
SplitIt.Exe (stored in splitit.zip - 12,161 bytes) Console Application
Got a file that is too big to fit on a single 1.44 floppy? Well now you
can SplitIt.
Usage is splitit [filename] {#K per block}, where the
default for the optional {#K per block} is 1400. SplitIt creates SPLITIT.1,
SPLITIT.2 ... SPLITIT.n - you can use the DOS "copy" command to put the
pieces back together. NOTE: YOU MUST USE THE /b FLAG TO THE COPY COMMAND!
Example: splitit filename.ext
Restore: copy /b splitit.1+splitit.2+splitit.3 filename.ext
This page hosted by
Leigh Brasington
/
/ Revised 01 July 09