home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Unsorted BBS Collection
/
thegreatunsorted.tar
/
thegreatunsorted
/
texts
/
txtfiles_misc
/
4dos3.msg
< prev
next >
Wrap
Text File
|
1992-04-29
|
330KB
|
9,338 lines
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 1/21/1992
To: JIM LYNCH Num: 10795 Date: 1/18/1992
From: DENNIS MCCUNNEY Re: 0 Time: 4:19 am
Subj: PUSHD AND MORE ALIASES! Prvt: N Read: N
JL│ back =dirs > h:\stack.tmp^*if NOT %#filesize[h:\stack.tmp]=0 back1
JL│ back1 =cdd %#select[h:\stack.tmp,2,40,15,79,■ Destination ■]
JL│
JL│ I tried putting it all in one alias, but for some reason, the
JL│ %#SELECT would be evaluated before the IF.
The following variant works for me (all on one line, of course):
dirs >d:\stack.tmp
iff NOT %@filesize[d:\stack.tmp]=0 then
pushd %@select[d:\stack.tmp,1,40,15,79,■ Destination ■]
endiff
I have it assigned to Ctrl-PgUp as a key alias.
---
■ KMail 2.91a -
PCRelay:RUNNINGB -> #3 RelayNet (tm)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 1/24/1992
To: ALL Num: 925 Date: 1/22/1992
From: MARK SCARBOROUGH Re: Time: 11:08 am
Subj: 4Dos tips-n-tricks Prvt: N Read: N
Hellooo Everybody.
Here's a little trick I came up with last week that you might find
handy; I sure do. This is probably documented somewhere, but I searched
through the doc file (lug, lug ;-} ) and didn't find it anywhere.
Aren't Keystroke Aliases _great_! I love 'em. They are one of my (many)
favorite new features of 4.0. My fingers don't get nearly so tired now!
But don't you hate it when you've begun to type a command and then decide
to do something you have programmed to a keystroke alias and you end up
with an "Unknown command" error. Since that was as clear as mud, I'll
give an example. Suppose you want to delete some files, so you type "del".
Then you decide to check on those filename _one_more_time_ so you hit
ALT-D to get your wide, colored directory listing to come up. But NOOO;
you ended up with "del*dir/4p" and the appropriate error message.
Wouldn't it be great if your alias could erase the line before adding
the command?!? Well now you can...
Anyway here's my little trick: when creating Keystroke Aliases, you
know how to put a "RETURN" at the end (with ^X^Xr), but did you know
that you can also embed an "ESCAPE" in the alias? To do it, just put
^X^Xe
at the beginning of the alias. This "ESCAPE" character
will erase the line and allow the alias to be entered on a fresh,
clean command line! (Granted, others have probably already discovered
this but I thought it was neat enough to share.)
.\\ark Scarborough
--- Blue Wave/Opus v2.01 [NR]
* Origin: The ECS BBS - Austin, TX (512)328-6923 * HST/DS * (1:382/87.0)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 1/24/1992
To: MICK SPICE Num: 847 Date: 1/17/1992
From: MAURICE VAN DER WERF Re: Time: 6:49 pm
Subj: a 4DOS challenge ?? Prvt: N Read: N
Hello Mick,
On Wednesday, January 8, you wrote to Everybody:
MS> So, can anyone point me to a way of running the TIMER and getting the
MS> result into the 4DOS.LOG file ?????
How's this:
timer on
REM do your stuff...
timer|input %%logtext
log "%logtext"
unset logtext
Regards, Maurice.
--- GEcho/beta
* Origin: There's no future in time travel (2:281/515.4)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 1/24/1992
To: MICK SPICE Num: 862 Date: 1/18/1992
From: FURLAN PRIMUS Re: Time: 4:43 pm
Subj: a 4DOS challenge ?? Prvt: N Read: N
languaging on <08 Jan 92 at 19:43> Mick Spice (2:440/6@fidonet) asserted:
MS> I know there are some smart 4DOS users out there, because this
MS> echo seems to flow over with Hints & Tips.
MS> So, can anyone point me to a way of running the TIMER and getting
MS> the result into the 4DOS.LOG file ?????
a little redirection will do the trick:
_ _ _ O_/_ _C_U_T_ _H_E_R_E_ _ _ _ _ _ _
O \
log /w 4dos.log
timer
:: do stuff here
timer >> 4dos.log
log off
_ _ _ O_/_ _C_U_T_ _H_E_R_E_ _ _ _ _ _ _
O \
have fun!
fl
--- Msged/sq
* Origin: Dyslexia rules KO. (1:141/590@fidonet)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 1/24/1992
To: RICHARD HOLLER Num: 861 Date: 1/18/1992
From: WILLIAM HUGHES Re: Time: 4:36 pm
Subj: Batch File help wanted Prvt: N Read: N
RH>Is that possible? Here's what I have so far for ZIP and ARJ files:
RH> if (%1) == () goto end
> Echo ArcFileType is '%@ext[%1]'
> if "%@ext[%1]" == "zip" goto ZIP
> if "%@ext[%1]" == "arj" goto ARJ
> goto end
RH> :ZIP
> Echo Processing ZIPfile
> for %a in (%1) do pkzip -k -z %a < e:\arcs\comment.txt
> goto end
RH> :ARJ
> Echo Processing ARJfile
> for %a in (%1) do arj f -s1 -ze:\arcs\comment.txt %a
> goto end
Hmmm...
if (%1)==() QUIT
for %a in (%1) (
iff %@UPPER[%@EXT[%a]]==ZIP then
Echo Processing ZIPfile
pkzip -k -z %a < e:\arcs\comment.txt
elseiff %@UPPER[%@EXT[%a]]==ARJ then
Echo Processing ARJfile
arj f -s1 -ze:\arcs\comment.txt %a
elseiff %@UPPER[%@EXT[%a]]==LZH then
Echo Processing LZHfile
lha [whatever]
elseiff %@UPPER[%@EXT[%a]]==ZOO then
Echo Processing ZOOfile
zoo [whatever]
else echo UNKNOWN FILETYPE ( %@UPPER%@EXT[%a] ) FOUND
endiff )
I've tested the above (different commands replaceing pkzip, arj, etc)
and it seems to work; even accepts wildcards
---
* SLMR 2.0 * 4DOS or not 4DOS? Damn silly question, if you ask me!
--- MsgToss 1.9
* Origin: NUL (512)615-NUL1 HST/V32b, 615-NUL2, 615-NUL3 1.2
Gigs(1:387/255)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 1/24/1992
To: MARK WATKINS Num: 898 Date: 1/18/1992
From: TOBIAS POLZIN Re: Time: 1:11 pm
Subj: Holey Horseshoes - a neat Prvt: N Read: N
MW> How about....
MW> alias EDNAME `set newname=%1^eset newname^ren %1 %newname>nul^unset
MW> newname`
Not bad, but look at this:
alias ren `iff %#=1 then^for %%f in (%1) do ...
...( set newname=%f^eset newname^*ren %f ...
...%newname >& )^unset newname^else^*ren %&
It can also smartly handle "REN *.*", EDNAME can't!
Ciao
Tobias
---
* Origin: for dos i have four-dos four (2:245/60.15)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 1/24/1992
To: STEVE DAVIS Num: 883 Date: 1/19/1992
From: HUGO LANDSMAN Re: Time: 8:33 pm
Subj: To delete or not to delet Prvt: N Read: N
Howdy Steve!
On <12 Jan 92 10:09> Steve Davis wrote to Henk Simmelink 'bout To delete or
not to delete:
SD> blah blah blah
Aren't we polite..
SD> I came up with this:
SD> pushd
SD> cd \point\fd
SD> if exist *.log goto quit
SD> ECHO NO FD.LOG
SD> exit
SD> :quit
SD> if %@FILESIZE[FD.log,b] gt 10000 GOTO DOJOB
SD> ECHO `FD.LOG < 10K - NO ACTION TAKEN`
SD> GOTO NOMORE
SD> :DOJOB
SD> list fd.log
SD> copy nulfile.zzz fd.log > NUL
SD> ECHO `FD.LOG > 10K - MADE INTO NUL FILE`
SD> :NOMORE
SD> popd
Yikes! Much too complicated, with all those gotos... Here, have another
one:
cd \point\fd
iff not exist fd.log then
echo No FD.LOG
elseiff %@filesize[fd.log,K] lt 10 then
echo FD.LOG `<` 10K - fine
else
list fd.log
>!fd.log
echo FD.LOG `>`= 10K - reset
endiff
cd -
Greetings,
Hugo
--- XAP 0.11a
* Origin: Very long origin line enabled by XRS 4.99 Wide Beta (2:283/406.5)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 1/24/1992
To: BOB CAMPBELL Num: 870 Date: 1/19/1992
From: DARRYL GREGORASH Re: Time: 3:31 pm
Subj: Weeknumber Batch Prvt: N Read: N
> 01-01-92 is in Week Number 1
> 01-04-92 is in Week Number 1
> 01-05-92 is in Week Number 2
> 01-07-92 is in Week Number 1 <--- I can't explain this
> 01-10-92 is in Week Number 2
> 01-13-92 is in Week Number 3
> 01-17-92 is in Week Number 3
Here is what I just tested:
WEEKNR.BTM; called with one parameter, the date in mm-dd-yy format that you
wish to check.
Example: weeknr 12-25-99
+++++++++++++++++ cut here ++++++++++++++
set DOW=%@eval[(%@date[%1] + 2) %% 7]
set DOWJAN1=%@eval[(%@date[01-01-%@SubStr[%1,1,-2]] + 2) %% 7]
set DOY=%@Eval[ 1 + %@Date[%1] - %@Date[01-01-%@SubStr[%1,1,-2]] ]
set WEEKNR=%@Int[%@eval[(%DOY - 1) / 7]]
rem Handle special cases.
IF %DOWJAN1 le 3 set WEEKNR=%@Eval[1+%WEEKNR]
IF %DOW lt %DOWJAN1 set WEEKNR=%@Eval[1+%WEEKNR]
rem ^^ LE or LT??
IF %WEEKNR == 0 set WEEKNR=53
UNSET DOW DOWJAN1 DOY
++++++++++++++++++++ cut here ++++++++++++++++++++
This returns all values correctly for 1992, from Jan 01 through Jan 16. If I
change that LT to a LE, then Jan 01, and every Wednesday thereafter, (Jan
01/92 being on a Wed) return values one greater than they should, ie.
using LT using LE
Jan 01/92 1 2
02 1 1
...
07 2 2
08 2 3
09 2 2
...
I similarly checked for 1993 (Jan 01 is a Friday), and it works correctly
using LT, but is right out to lunch using LE; using _LE_, week numbers for a
Friday are one _less_ than they should be -- Jan 01 is week 1, 02 is week 53
[of the previous year], and so on.
---
* Origin: if not %@eval[2+2] eq 4 echo !@#@#$^& (1:140/86)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 1/29/1992
To: HANS OESTE Num: 1023 Date: 1/27/1992
From: JAY ELKES Re: Time: 5:23 am
Subj: 4dos Prvt: N Read: N
WH> people that extoll the virtues of 4DOS, could write a number of factual
WH> screenfuls on the differances between the two operating systems and why
WH> that makes it better and easier to use than ms-dos. Perhap even write
WH> an essay or some such thing, that could be passed to the other BBS's
WH> for informational purposes. This could be your part in educating us
WH> novices; 'sell' the product to us.
Okay -- do with this what you like
The Scoop on 4DOS
by Jay Elkes
4DOS is a replacement for the DOS command processor command.com. It does not
replace MSDOS itself any more than it would replace DR DOS for which it can
also be used. If you work from the DOS Shell, or from a Windows environment,
4DOS will do little or nothing for you. If you are working at the DOS command
line, especially with batch files, 4DOS has a lot to offer.
The features I use most are history and logging. The history feature lets me
talk back through previously issied commands, edit them, and issue them
again. Even if I were a perfect typist (and I'm not) this feature would be
useful when I want to do the same thing in multiple directories. The logging
feature writes my commands, and any note I care to log, to a file. I do this
more to learn what stupid thing I've done than anything else.
There is a 4DOS command for anything that DOS has to offer, frequently with
additional features that may or may not be useful to you. The DIR command
offers a variety of formats, some of which can be used as input to a pipe
with no extraneous data. thre DEL command allows you to delete several series
of files in one command.
4DOS also offers a collection of commands not offered by DOS. Three I use a
lot are MOVE, SELECT, and GLOBAL. MOVE allows me to copy a file from one
location to another and delete it at its point of origin. If I'm putting a
disk file on a floppy that I don't want on my hard disk, I use MOVE. SELECT
is used in conjunction with another command such as DEL or MOVE and a
wildcard string of file names. Files matching the wildcard criteria are shown
on a list which allows me to mark the ones I'm interested in. Once I've
selected the file(s) of interest, the DEL or MOVe (or whatever) is executed
for each selected file. The GLOBAL command also modifies other commands, in
its case applying a command to each subdirectory from the current point down.
Not all 4DOS commands are ideal. 4DOS has a LIST command which is perfectly
functional, but I prefer the LIST program by Vern Buerg for that purpose. In
that case, I can use the 4DOS ALIAS command to use the external version
instead of the internal one. If you're running the same setup I am, you mught
want to use an ALIAS to define the name EDIT to your favorite editor so LIST
can find it. ALIASes are short commands kept in memory which can be accessed
faster than any batch file and don't take up as much room on dik as an
equivalent set of BAT files. Aliases can be stored on disk as a single file
so you don't retype them from one session to the next.
4DOS BTM files can replace BAT files in many cases. A BAT file gets read and
executed line by line. 4DOS reads a BTM file once and executes it directly --
making it much faster than a BAT file if loops are involved. BTM files also
offer a more powerful set of commands for those of you who are seriously into
BAT files.
Since ALIASes take up memory, you may think 4DOS costs memory. In fact, 4DOS
has a very small portion that runs inside 640K, moving the rest of it to high
memory. As a consequence, my machine with 4DOS and a bunch of aliases
actually has more memory available for programs than it did under DOS.
The NORTON utilities NDOS package is a repackaged (with permission) version
of 4DOS version 3. The original author, JP Software, has since improved the
product to version 4.0 but (so far at least) only under the 4DOS name.
Even with the commercialization of NDOS, 4DOS is a shareware product you can
pick up from many BBS systems. If you have collected a lot of little command
line utilities to make your life easier, you'll find many of them included in
4DOS.
Copyright 1992 by Jay G. Elkes. Permission to reprint for nonprofit use is
hereby granted.
* SLMR 2.1a * My reality check just bounced.
--- Squish v1.00
* Origin: K-Line BBS (614)855-2958 1:226/40 (1:226/40)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 1/30/1992
To: ELVIS HARGROVE Num: 1032 Date: 1/26/1992
From: DAVID POWERS Re: Time: 9:58 am
Subj: Why won't 4Dos run? :) Prvt: N Read: N
Hi Elvis,
> 4Dos, in its infinite wisdom will NOT run if infected
> by a virus. Specifically, the Jerusalem virus causes
> 4DOS.COM (EXE?) to cease to function.
Well, there you go. :)
> Could you suggest a sample .BTM which would perform
> the UNlz/scanv function and direct the filenames of
> infected files to a VIRLST.TXT file?
I hope no one minds this. Somebody complained that not enough batch files
were posted here, though. And I do about as much errorlevel checking as I do
with my toaster; if it isn't working, say so. :)
::Wolfram Umlauf wrote this first.
goto start
:ARC
setret pkunpak
:ZIP
pkunzip
:LZH
setret lha x
:WORK
set arc=%@upper[%arc]
echo Working on %arc...
set name=%@name[%arc]
iff isdir %name then
echo Directory name (%@full[%name]) already exists; not unpacking %arc.
return
endiff
md %name
set name=%@full[%name]
echo Moving files to %name.
move/q %arc %name
cd %name\
iff "%@ext[%arc]" ne "%ext" then
::if the last file processed has the same extension, use
::the same decompression method.
set ext=%@ext[%arc]
gosub %ext
endiff
echo Unpacking files.
%arccmd %arc>&nul
iff %? ne 0 then
echo * Error unpacking %arc. *
elseiff %vscan. ne no. then
echo Checking for viruses.
scan *.*/nomem/bell/report %name\%@name[%arc].vir>&nul
iff %? ne 0 then echo * Viruses found! Report in %name. *
else del/q %name\%@name[%arc].vir
endiff
endiff
cd ..
return
:SWITCHES
::if you or anyone else can think of a better way to check
::for this, I'd appreciate it. I think this is pretty slow.
set switches=%@substr[%&,%@index[%&,/]]
if %@index[%switches,/?] ne -1 goto help
if %@index[%switches,/ns] ne -1 set vscan=no
if %@index[%switches,/*] ne -1 set arc=/*
set switches=
return
:SELECT
iff not exist %arcs then
echo Sorry, no archives that I know are here. I only know these formats:
echo %@upper[%arcs]
else
select set work on=[%arcs]
if "%[work on]"="" echo No files selected.
for %arc in (%[work on]) gosub work
endiff
return
:START
setlocal
iff %_alias lt 25 .or. %_env lt 100 then
echo Sorry, not enough alias (lt 25 bytes) or env (lt 100 bytes) space.
quit
endiff
::define what extensions are okay
set arcs=*.zip;*.lzh;*.arc
if %@index["%&",/] ne -1 gosub switches
alias setret `set arccmd=%bin\%&^return`
::if there was a filename in %1 (not a switch), use that.
if "%@substr[%1,0,1]" ne "/" set arc=%1
iff "%arc"="/*" then ;the /* switch was used
(for %arc in (%arcs) gosub work) >&>nul
elseiff "%arc"="" then gosub select ;no parms entered
elseiff %@index[%arc,?] ne %@index[%arc,*] then
::note that this doesn't check for extended wildcards.
echo Sorry, no wildcards. Try just typing %@upper[%0].
elseiff not exist %arc then
echo "%arc" isn't the right name.
elseiff %@index[%arcs,.%@substr[%arc,2,-3]]=-1 then
echo I don't know what archiver to use for %@upper[%arc].
else gosub work
endiff
endlocal
echo:^echo Done.
quit
:HELP
echo This is %@upper[%0].
echo Syntax: %@upper[%0] [filename] [ [/ns] [/*] | [/?] ]
text
It unpacks archives and puts them with their files in their own
dir. You can include a single filename to work on (no wildcards),
or no name to select files to unpack.
endtext
echo %@upper[%0] supports %@upper[%arcs] formats.
text
Supported switches:
/? gets you this
/ns skips the virus scan of each unpacked archive.
/* unpacks all archives in current dir.
endtext
quit
> Whereas SCANV UNzips the target file and scans
> it. We tried to TEE the output of SCAN.EXE but so far
> have not made it work.
There's a switch for Scan, I think it's ... hmm, /REPORT. That should do what
you want.
> NOW, how do you make it SET its output to a %VAR?
If I understand you, there are a couple of ways I know. One is to do this:
select set var=[*.*]
But you have to have a lot of environment space if you're going to pick a lot
of files, right? Another would be some complicated redirection stuff, but
it'd be a pain, I think.
Hmm. This is a long message which I sincerely hope will not be chopped too
badly.
---
* Origin: Ooooh yeah ... Edges ... uh-huh ... SF, CA ... yeah. (1:125/54)
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 1/31/1992
To: SERGE DELBONO Num: 11066 Date: 1/28/1992
From: GREG VAIDMAN Re: 0 Time: 12:02 am
Subj: 4DOS ALIASES Prvt: N Read: N
on 1/27/92 serge delbono writes:
SD├╢I use a better alias :
SD├╢alias ..*... `cd %0`
SD├╢(Thank's to the guy that suggested that in this conference).
that's great! i didn't know you could access the alias name in
the alias itself! maybe try:
alias ..*...=`%0\`
that saves a whopping 2 bytes of alias space! i use about 4k
worth of aliases.
some of my favorites:
═══════════════════════════════════════════════════════════════════════
CD=iff "%1"=="" then^acd *^else^cdd %1
MD=for %z in (%&) do acd md %z
RD=for %z in (%&) do acd rd %z
IN=pushd^cd %1^%2&^popd
RESC*AN=acd /qcreate cdefgh
GO=if not isdir %1 md %1^cdd %1
; these aliases make the acd command do all your directory changing.
; acd is a great freeware/pd program better than lcd/ncd.
EXE=in %1. dir *.exe;*.com;*.bat;*.btm
; get a list of all executables in a given directory
DA=dir/p a:%&
DB=dir/p b:%&
; convenient for quick dir of floppies
CVT=rearj %&^describe %#name[%1].* "%@descript[%1]"
; after converting zip -> arj or vice versa, this copies the
; description from the original to the new file
@F4={ESC}q c:\config.sys c:\autoexec.bat{CTRL-X}r
; F4 key edits config.sys and autoexec.bat
CHKDSK=ndd c: d: e: f: g: h: /q
; use norton disk doctor for chkdsk
MAN=iff x%1==x then^shez u:\doc.zip^else^unzip -c u:\doc %1*.*|list/s
; view the doc file for a given file, or list of all docs
; where you can pick which to view
SUB=c:\bin\subst
SUB?=echo %#truename[%@substr[%1,0,1]:]
UNSUB=sub %1/d
; makes using subst a lot easier
AFAKE=mark fake^if exist j:\nul subst j:/d^subst j: .^assign a=j^a:
AREAL=pushd c:\^assign^release fake^subst j:/d^popd
; these allows me to quickly create a fake "A:" drive on a hard drive
; subdirectory, to speed up some install programs...
?=echo %@eval[%&]
; command line calculator; who uses the default ? command anyway?
MORE=list/s
; makes everything piped to more pipe to buerg's list instead
DEL=*del/q
; an absolute necessity; too slow otherwise
═══════════════════════════════════════════════════════════════════════
i've got more if anyone likes what they see...
greg vaidman
---
■ OLX 2.1 ■ if (quackslike(X)==DUCK) return DUCK;
PCRelay:DATABASE -> #1251 RelayNet (tm)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 1/31/1992
To: GEORGE WORLEY Num: 1129 Date: 1/28/1992
From: KEN HARWELL Re: Time: 2:58 pm
Subj: 4DOS Prvt: N Read: N
George,
GW> I all the time change my aliases on the fly and would like
GW> to save them to
GW> my ALIAS file so if there is a power failure or I power down they are
GW> restored when I get power restored to the system.
-------------------
edalias
q c:\4dos\alias.cfg
if exist c:\4dos\alias.bak del /q c:\4dos\alias.bak
newalias
newalias
unalias *
alias /r c:\4dos\alias.cfg
------------------------------
Here is my solution to your problem. I don't think I can take full credit for
it cause I think I "stole it" from somebody else but then, that is what the
4DOS echo is all about. :-)
Because of the limitation of message editors, etc. I broke the aliases
EDALIAS and NEWALIAS down into individual statements. In my C:\4DOS\ALIAS.CFG
they are all on one line separated with the COMMAND SEPARATOR (was that
redundant!).
Q is QEdit, my text editor of choice. When I make aliases on the fly I put
them in my ALIAS.CFG. If they are "keepers" I sort them. If they are
temporary, I let them stay at the top of the file until I am finished with
them and then delete them. I have QEdit set to make .BAK files. If your text
editor doesn't produce .BAK files, the second command of EDALIAS is
unnecessary.
There is more than one solution to your problem and this is only one. There
is probably a more "eloquent" solution, but then I've rarely been accused of
eloquence myself! :-)
See ya
KH
--- Msg V4.5
* Origin: Oblio's POINTless Forest (1:116/4000.1)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 1/31/1992
To: ALL Num: 1121 Date: 1/28/1992
From: BONNO BLOKSMA Re: Time: 1:39 am
Subj: Pheeew, close call Prvt: N Read: N
Hello All!
Ever tried to shutdown your computer in one window while you were still
running programs in other windows? I tried just now.
Well I caught the sucker just in time but this makes you wonder isn't there
any way to detect if I'm still running DesqView?
Well guess what? 4DOS to the rescue! So now my shutdown bachtfile looks like
this:
=-=-=-=-=-=-=
@Echo Off
IF %_DV == 0 Goto ShutDown
Echo You're still running DesqView egghead!!!
Goto Exit
:ShutDown
F:\NU50\Image C: D: E: F:
C:\HYPERDSK\HyperDk D
Echo Finished, Turn the sucker off.
Pause > NUL
rem In case I forgot something and want to continue
C:\HYPERDSK\HyperDk E
:Exit
=-=-=-=-=-=-=
Maybe a wise suggestion if you're running DV too.
See ya on/off-line
|] |]
|_]onno |_]loksma
--- GEcho/beta
* Origin: Another point of Equinox the turning point. (2:283/3.8)
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/02/1992
To: ALL Num: 11110 Date: 1/31/1992
From: JIM LYNCH Re: 0 Time: 2:12 am
Subj: MENU'S USING .BTM Prvt: N Read: N
Somebody here gave me the idea of making a menu using
(AT)%select[], and the result was such and improvment over what I
had, I thought I share my results. This is a two level menu.
@echo off
setlocal
:MAIN
cd c:\4dos4
cls
REM stuff here to draw a background omitted...
set choice=%#word[0,%@select[menu0.dat,8,32,20,47, * Main Menu *]]
if %choice!==! goto end
goto %choice
: -------------------submenus start here
:COMMUNICATIONS
set choice=%#word[0,%@select[menu1.dat,3,25,20,55,* Communications *]]
if %choice!==! goto MAIN
goto %choice
:APPLICATIONS
set choice=%#word[0,%@select[menu2.dat,3,25,20,55,* Applications *]]
if %choice!==! goto MAIN
goto %choice
:SYSTEM
set choice=%#word[0,%@select[menu3.dat,6,25,20,55,* System Utils *]]
if %choice!==! goto MAIN
goto %choice
: -------- communications choices start here
:PROCOMM
cdd f:\ud
keystack 13 @32
C:\pcplus\pcplus
goto MAIN
:COMPUSERVE
cdd d:\ato
ato
goto MAIN
:ECHOMAIL
msged
goto MAIN
etc.
To make this go, there is a text file for each menu (menu0.dat,
etc) that is just a list of the prompts, (which are also the GOTO
labels) like this:
Communications
Applications
System Utils
That's all, folks....
---
■ MegaMail 2.1ß #0:
PCRelay:DCINFO -> #16 MetroLink (tm) International Network
4.10 DC Info Exchange MetroLink International Hub
work
4.10 DC Info Exchange MetroLink International Hub
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/02/1992
To: RUDI PITTMAN Num: 1146 Date: 1/30/1992
From: FURLAN PRIMUS Re: Time: 7:19 am
Subj: bat file Prvt: N Read: N
languaging on <27 Jan 92 at 14:12> Rudi Pittman (1:3613/10.9@fidonet)
asserted:
RP> Im trying to write a bat file which will loop 15 times and
RP> increment a variable to be checked...can't seem to get the
RP> variables to work correctly using the %@eval statement..for
RP> example:
RP> Set %choice = 1
RP> echo %@eval[%choice +2]
RP> returns a 2 no matter what is in %choice....am I going about this
RP> the wrong way?
i use two aliases here to increment and decrement variables easily:
DEC=set %1=%@eval[%[%1]-1]
INC=set %1=%@eval[%[%1]+1]
(i got these from the PROMPT Solution #3, they were written by Ariel
Frailich)
then the above could be written:
inc choice
fl
--- Msged/sq
* Origin: Things work better if you plug them in. (1:141/590@fidonet)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/02/1992
To: RUDI PITTMAN Num: 1171 Date: 1/30/1992
From: TROY PRATHER Re: Time: 10:49 am
Subj: bat file Prvt: N Read: N
===========================================================================
BBS: Desktop Micro's BBS
Date: 01-27-92 (14:12) Number: 181
From: RUDI PITTMAN Refer#: NONE
To: ALL Recvd: NO
Subj: bat file Conf: (31) INT'L-4DOS
------------------------------------------------------------------------
RP->Im trying to write a bat file which will loop 15 times and increment a
RP->variable to be checked...can't seem to get the variables to work
correctly
RP->using the %@eval statement..for example:
RP->Set %choice = 1
RP->echo %@eval[%choice +2]
RP->returns a 2 no matter what is in %choice....am I going about this the
wrong
RP->way?
I think this will work. I have not tried it to make sure. If it
doesn't it is pretty close. You need to initialize the counter outside
the loop. It appears that you had the counter inside the loop and it
was being reinitalized eveytime the loop started over. That is way you
got a two everytime.
Set %choice = 1
:loop
do something here
echo %@eval[%choice +2]
if %choice gt 15 then goto loopend
goto loop
:loopend
Troy Prather
* SLMR 2.1a * Crime wouldn't pay, if the government ran it.
--- WM v2.00/91-0020
* Origin: Desktop Micro's BBS - (309) 662-2017 (1:232/302)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/02/1992
To: MARK RUYS Num: 1179 Date: 1/18/1992
From: BILL HAYLES Re: Time: 5:34 pm
Subj: No Drdos Join Prvt: N Read: N
Mark,
On 13th January you asked about using JOIN with DRDOS6 and 4DOS. I
quote from the 4DOS APPNOTES.DOC:
> DR-DOS 5.0's design makes the ASSIGN, JOIN, MORE, and SUBST
> commands internal (in MS-DOS / PC-DOS they are external).
> 4DOS supports all MS-DOS internal commands, but does not have
> internal support for ASSIGN, JOIN, MORE, and SUBST. To ac-
> cess these DR-DOS internal commands when using 4DOS as the
> command processor, you must set up aliases which run DR-DOS's
> COMMAND.COM. The following 4DOS aliases accomplish this
> (adjust these if COMMAND.COM is not in C:\):
> alias assign `c:\command /c assign %&`
> alias join `c:\command /c join %&`
> alias more `c:\command /c more %&`
> alias subst `c:\command /c subst %&`
The same applies to DRDOS 6. I have put all these into my ALIASES.TXT
and use JOIN etc. with
no problems.
Hope this helps.
Bill
----------------------------------------
TNT XL/v6.0α
--- HALCYON 5.00B
* Origin: Fox's Den BBS (0689) 827085 (2:440/28)
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/04/1992
To: STEF EVAIN Num: 11168 Date: 2/02/1992
From: DENNIS MCCUNNEY Re: 0 Time: 3:27 pm
Subj: 4dos & batch Prvt: N Read: N
SE│ I would like to write using 4DOS
SE│ A batch that rename a file with only extension that change
SE│ with day of the month :
SE│
SE│ TOTO.ZIP -> TOTO.030
SE│
SE│ I suppose this is easy with Ecval fonction but i have not found
SE│ true solution
You don't need %@eval for this:
: ren_day.btm
@echo off
rename %1 %@name[%1].0%@substr[%_DATE,6,2]
: ren_day.btm ends
(This can be an alias, if you like.)
What this does is use a pair of variable functions and a built-in
variable. The %@name function returns the filename portion of the file
named in %1. The %@substr function extracts the day of the month from
the current date, which 4DOS stores as a built-in variable - %_DATE, and
tacks it onto the filename as the new extension, prepending a 0 to it to
pad it to three chars. The exact use of %@substr to grab the
information from %_DATE will vary depending on the date format in use.
For U.S. style dates, it would be %@substr[%_DATE,3,2] above.
If format independance is a concern, you could test the value
returned by %_CODEPAGE to determine whether alternate language support
has been installed, and change the exact parms passed to %@substr
accordingly.
---
■ KMail 2.91c -
PCRelay:RUNNINGB -> #3 RelayNet (tm)
PCRelay:DCINFO -> #16 MetroLink (tm) International Network
4.10 DC Info Exchange MetroLink International Hub
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/04/1992
To: JIM LYNCH Num: 11154 Date: 2/01/1992
From: DANNY O'LEARY Re: 0 Time: 11:55 am
Subj: 4DOS 4.01 ALIASES <HELP> Prvt: N Read: N
│JL> What is %0 ? What does this alias do? Why did you name the alias │
│JL> ..*... ? Seems hard to type to me? │
╘═══════════════════════════════════════════════════════════════════════════╛
When I first started 4DOSing, I saw this alias and couldn't figure
it out for the life of me. Let's take a look...
alias ..*..... `cd %0\%1` (this is the version I use)
OK. Remember that the * is an alias truncator. That means that you
need only type the first two dots (..) to call the alias. 4DOS will
also recognize ... or .... or ..... as the same alias, just as long
as the first two dots are there.
The %0 refers to the name of the alias, batch file, or whatever.
So, assuming you didn't give a second argument (no %1), the alias
.. would expand as "cd .." taking you one directory up. The more
dots you add, the more directories you go up. For example if you
are in the directory
c:\elvis\is\dead
the following commands would put you in the corresponding
directories:
.. -> c:\elvis\is
... -> c:\elvis
Adding the \%1 allows you to go "up and over" like this:
... lives -> c:\elvis\lives
Pretty darn nifty, eh? Hope this was helpful.
DannO
p.s. - This conference is generally one of the most helpful, but I
had to figure this one out on my own. In doing so, I found that the
easiest way to figure out aliases is to play with them. Good luck
in the future.
---
■ MegaMail 2.10 #0:
PCRelay:LIGHTNIN -> #851 RelayNet (tm)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/04/1992
To: ALL Num: 1213 Date: 2/02/1992
From: LEE JACKSON Re: Time: 12:45 am
Subj: 4MUL.BTM Prvt: N Read: N
For any of you who have tried the 4CAT diskette cataloguer, you might have
noticed it will only catalogue one disk at a time. I've written a short
.BTM that will allow multiple disks to be catalogued, with a pause in
between, followed by a display of the freespace on your diskettes. Feel
free to use, comment, or trash as desired.
4MUL.BTM
-------------start shredding here---------------
@echo off
echo Insert disk and press any key when ready.
pause >nul
:catalog
4cat b:
inkey /K"YN" Catalog another disk? %%answer
iff "%answer"=="Y" .or. "%answer"=="y" then
echo Insert disk and press any key when ready.
pause >nul
goto catalog
endiff
cls
4cat /free
pause
cls
echo Cataloguing complete.
--------end shred mode----------------------
Just wanted to share a file that works well with a very solid, basic
cataloguer (especially for a 1.0 release!). Enjoy.
-Lee
--- Msged/sq
* Origin: The Middle of Nowhere * Kyle, TX (1:382/87.4)
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/04/1992
To: ALL Num: 11175 Date: 2/03/1992
From: DAVE LEMIRE Re: 11129 Time: 6:58 am
Subj: MENU'S USING .BTM Prvt: N Read: N
JL>Somebody here gave me the idea of making a menu using
>(AT)%select[], and the result was such and improvment over what I
>had, I thought I share my results. This is a two level menu.
Jim Lynch posted a nice applications menu .BTM with the above
message. Here's mine for picking compressed files out of a .ZIP
for viewing with LIST:
echo off
fv e:\utils\docfiles.zip | fg -s -w ":??:?? ?" | sort >files
set VVV=%(AT)select[files, 2, 40, 20, 55, View?]
iff "%vvv!" ne "!" then
(pku -c e:\utils\docfiles.zip %(AT)substr[ %vvv, 0, 15] | LIST /s
unset vvv )
endiff
del /q files
quit
DOCFILES.ZIP is an archive of the .DOC files you need to refer to
once in a blue moon.
I find this one pretty useful.
Dave Lemire
---
■ SLMR 2.1a ■ Hello, I am part number │║ ║│║│█│║▌│║▌││
■ KMail 2.91c The DC Information Exchange
PCRelay:DCINFO -> #16 MetroLink (tm) International Network
4.10 DC Info Exchange MetroLink International Hub
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/05/1992
To: MORRIS TURPIN Num: 1244 Date: 2/02/1992
From: PAUL THORNETT Re: Time: 10:50 pm
Subj: %@exec[ ] Prvt: N Read: N
MT>prompt `%@exec[readhist]$h$e[s$e[1;1f$e[1;37;41m$e[K Level=$z
%@dosmem[b]
MT> $D Time: $t$h$h$h$e[1;%@eval[%_columns-%@len[%_cwd]-6]fPath:
MT>$p$e[u$e[0;1;33;44m$n$g$e[0;37;44m`
MT>Thanks to your tip I now have a complete history list, including those
MT>commands typed while shelled out, but do you have any ideas why the "0" is
MT>being returned?
I too went through the same learning loop you refer to, also getting the
unwanted 0, and reaching the same solution you did. But then I went further,
deciding to sort any old history file, and remove duplicate commands, then
append the current session's history to the end of the previous history. here
it is (on one line, of course):
ALIAS: readhist=iff exist k:\histfile then
^ sort<k:\histfile>k:\histfile
^ history>>k:\histfile
^ d:\4dos\compact k:\histfile>nul
^ history/f
^ history/r k:\histfile
^ del k:\histsave>&nul
^ ren k:\histfile histsave/q
^ endiff
PROMPT: prompt %%@exec[readhist]~b
$p
$g
DOS COMMANDS CARRIED OUT ONCE AT START OF EACH SESSION
if exist k:\histfile erase k:\histsave>&nul
if exist k:\histsave rename k:\histsave histfile /q
The RENAME HISTFILE HISTSAVE in the alias READHIST is done so that, if I have
to bounce out of the current session with Ctrl-Alt-Del (using Desqview),
I haven't lost all my previous history (K: is a RAM drive).
Although this looks like a lot of processing, I really don't notice it (on a
486/25).
--- RAMail 2.3
* Origin: The Final Program * V32/MNP/PEP * +61-2-548-1340 (3:712/211)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/05/1992
To: BAS VAN GAALEN Num: 1282 Date: 2/04/1992
From: JAY ELKES Re: Time: 4:00 am
Subj: 4dos ofcourse! Prvt: N Read: N
BVG>What else can you do with 4Dos? I saw some nice routines like SCREEN...
BVG>very neat...
see below for my uses of it
BVG>Is it also still necessary to run COMMAND.COM (I suppose so...) ? No, as
the first sentence below states it is a replacement.
The Scoop on 4DOS
by Jay Elkes
4DOS is a replacement for the DOS command processor command.com. It does not
replace MSDOS itself any more than it would replace DR DOS for which it can
also be used. If you work from the DOS Shell, or from a Windows environment,
4DOS will do little or nothing for you. If you are working at the DOS command
line, especially with batch files, 4DOS has a lot to offer.
The features I use most are history and logging. The history feature lets me
talk back through previously issied commands, edit them, and issue them
again. Even if I were a perfect typist (and I'm not) this feature would be
useful when I want to do the same thing in multiple directories. The logging
feature writes my commands, and any note I care to log, to a file. I do this
more to learn what stupid thing I've done than anything else.
There is a 4DOS command for anything that DOS has to offer, frequently with
additional features that may or may not be useful to you. The DIR command
offers a variety of formats, some of which can be used as input to a pipe
with no extraneous data. thre DEL command allows you to delete several series
of files in one command.
4DOS also offers a collection of commands not offered by DOS. Three I use a
lot are MOVE, SELECT, and GLOBAL. MOVE allows me to copy a file from one
location to another and delete it at its point of origin. If I'm putting a
disk file on a floppy that I don't want on my hard disk, I use MOVE. SELECT
is used in conjunction with another command such as DEL or MOVE and a
wildcard string of file names. Files matching the wildcard criteria are shown
on a list which allows me to mark the ones I'm interested in. Once I've
selected the file(s) of interest, the DEL or MOVe (or whatever) is executed
for each selected file. The GLOBAL command also modifies other commands, in
its case applying a command to each subdirectory from the current point down.
Not all 4DOS commands are ideal. 4DOS has a LIST command which is perfectly
functional, but I prefer the LIST program by Vern Buerg for that purpose. In
that case, I can use the 4DOS ALIAS command to use the external version
instead of the internal one. If you're running the same setup I am, you mught
want to use an ALIAS to define the name EDIT to your favorite editor so LIST
can find it. ALIASes are short commands kept in memory which can be accessed
faster than any batch file and don't take up as much room on dik as an
equivalent set of BAT files. Aliases can be stored on disk as a single file
so you don't retype them from one session to the next.
4DOS BTM files can replace BAT files in many cases. A BAT file gets read and
executed line by line. 4DOS reads a BTM file once and executes it directly --
making it much faster than a BAT file if loops are involved. BTM files also
offer a more powerful set of commands for those of you who are seriously into
BAT files.
Since ALIASes take up memory, you may think 4DOS costs memory. In fact, 4DOS
has a very small portion that runs inside 640K, moving the rest of it to high
memory. As a consequence, my machine with 4DOS and a bunch of aliases
actually has more memory available for programs than it did under DOS.
The NORTON utilities NDOS package is a repackaged (with permission) version
of 4DOS version 3. The original author, JP Software, has since improved the
product to version 4.0 but (so far at least) only under the 4DOS name.
Even with the commercialization of NDOS, 4DOS is a shareware product you can
pick up from many BBS systems. If you have collected a lot of little command
line utilities to make your life easier, you'll find many of them included in
4DOS.
Copyright 1992 by Jay G. Elkes. Permission to reprint for nonprofit use is
hereby granted.
* SLMR 2.1a * My reality check just bounced.
* SLMR 2.1a * Do Not Attempt to Traverse a Chasm in Two Leaps
--- Squish v1.00
* Origin: K-Line BBS (614)855-2958 1:226/40 (1:226/40)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/05/1992
To: ALL Num: 1246 Date: 2/01/1992
From: ADAM KESSEL Re: Time: 10:46 pm
Subj: 4START/4EXIT Prvt: N Read: N
Here's a little trick that you could probably all figure out *how* to
do, but might not think to do it.
Put the following line your 4START.BTM:
@If Exist C:\4DOS\4DOS.HIS History /R C:\4DOS\4DOS.HIS
And your 4EXIT.BTM:
@History > C:\4DOS\4DOS.HIS
These simple batch files allow you to maintain command-line history
between shells. Try installing it, you'll be surprised how useful it is--
---------- Adam Kessel "Je ne pense pas, donc je ne suis pas."
--- TMail v1.25
* Origin: -<Wintermute>- Vermont Ed-Net BBS & Hub! (1:325/111)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/05/1992
To: MIKE ARST Num: 1258 Date: 2/01/1992
From: HUGO LANDSMAN Re: Time: 3:35 pm
Subj: Command grouping and "FOR Prvt: N Read: N
Hoi Mike!
Op <27 Jan 1992 23:56> schreef Mike Arst (1:343/8.9) aan Peter Wadsworth:
MA> Ok, suppose I want to skip .EXE files. If I were using a GOSUB
MA> routine I could immediately RETURN if the extension is "EXE." See
MA> above where I put the row of "???" commands. What is the method
MA> of quitting the routine altogether right at that point and
MA> returning to the "FOR" loop without doing ANYTHING there? I tried
MA> doing a GOTO and putting it following the ")" but that just stops
MA> the batch file.
Just rearrange it a bit:
alias getyn `inkey /K"yn" %& %%yn`
setlocal
for %X in (*.*) if "%@ext[%X]" ne "exe" (
set FI=%@upper[%X]
keystack !
getyn Process %X ?
if "%yn%" == "y" (
echo Processing: %FI
rem Do real thing here
pause Processed %X. Any key.
)
)
See? Just like IFF...THEN^...^ENDIFF blocks. 4DOS' FOR doesn't have a
CONTINUE yet, so you have to group what belongs together.
Greetings,
Hugo
---
* Origin: The fifth columnist (2:283/406.5@fidonet.org)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/05/1992
To: DAN VENTON Num: 1280 Date: 2/03/1992
From: MARK WATKINS Re: Time: 5:44 pm
Subj: Error message. Prvt: N Read: N
--- Dan Venton said this to Mark Watkins Re: Error message....
> MW> message:
> MW> 4DOS server error -- XMS move failed
DV> After looking at your files, the only thing I can tell you to do is
DV> try removing all of the programs that make use of XMS one at a time and
DV> see if you can find a culprit.
Dan,
Thanks for trying to help. I found the problem, but I don't understand
it! It was caused by the following .btm:
:::::::::::::::::::::::::::::::::: ZDIR.BTM
:::::::::::::::::::::::::::::::::::
::
::
:: Zdir is meant to replace the dir command. It automatically sorts the
::
:: specified directory into the proper number of columns needed to display
::
:: the entire directory in a single screen. It uses the /v switch to give a
::
:: newspaper-style vertical sort. In order to run it when "dir" is typed,
::
:: alias DIR=zdir. When the batch is run, it temporarily resets dir to its
::
:: original value to prevent conflicts with functions that issue a "dir"
::
:: command (such as "select"). It will accept all of the normal dir switches
::
:: and arguments.
::
:: .\\ark \\'atkins Tue 01-14-1992
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
cls
swapping off
setlocal
alias dir `*dir`
*dir %& >e:dir
set lin=%@lines[e:\dir]
iff %lin GT 2 .and. %lin LE 23 then
*dir %&
else
iff %lin GT 23 .and. %lin LE 42 then
*dir /2v %&
else
iff %lin GE 43 .and. %lin LT 69 then
*dir /4v %&
else
iff %lin GE 69 then
*dir /wvp %&
else *dir %&
endiff
swapping on
After I removed the swapping toggles, the problem stopped (except for
a slight problem when I exit Desqview, which I won't go into here.). I
haven't
been able to find anything in the docs to explain it, but I'm hoping Tom will
reply to this or my original message and clear things up a bit. If you can
see the problem please let me know, otherwise thanks for trying.
.\\ark \\'atkins
... Insert dynamite in drive B: and light fuse when ready...
--- Blue Wave/TG v2.05
* Origin: ModemLink BBS =: Yukon, OK := HST/V32 (1:147/24.0)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/05/1992
To: ALL Num: 1237 Date: 2/02/1992
From: MAYNARD HOGG Re: Time: 12:18 am
Subj: Now.Btm Prvt: N Read: N
Now that I've sorted out the modulo operator, here's my latest version
of the cut-rate screen saver posted last December.
:: Protect environment, aliases, etc.
setlocal
:: Just in case user has aliased standard commands...
:: The ampersand means redirect error input too.
unalias cls set >& nul
:: Save original screen colors--a touch the author forgot!
set old_fg=%_fg
set old_bg=%_bg
:: Turn off cursor. Sorry, no way to save cursor shape.
setdos /s0:0
:: Each color is three letters long, so we don't have to
:: use %@WORD here.
set colors= blu gre red mag cya yel bla whi
:: Define functions as environment variables. Note the
:: use of double %% to postpone EVAL, INT, _DATE, _TIME,
:: etc. till later.
set dag=%%@eval[%@date[%_date]-%@date[1/1/%@substr[%_date,1,-2]]]
set dwt=Date: %%_date Week: %%@int[%@eval[(%dag+1)/7+1]] Time: %%_time
::top
set c=1
:nr
set wait=
cls
:: "Randomize" upper left corner of box using seconds field.
set z=%@int[%@eval[%@substr[%_time,6,2]/2.6]]
set s=%@int[%@eval[%@substr[%_time,6,2]/1.6]]
set bco=%@substr[%colors,%c,3]
drawbox %z %s %@eval[%z +2] %@eval[%s +43] 2 bri yel on %bco fill %bco
scrput %@eval[%z +1] %@eval[%s +2] bri whi on %bco %@substr[%dwt,0,40]
:: Wait up to 10 seconds for keystroke.
:: Press the space bar to cycle faster.
inkey /w1 %%wait >nul
:: If ESC key, exit loop.
if %@ascii[%wait] eq 27 goto end
set c=%@EVAL[(%c +4) %% 32]
:: The modulo operator (%%) makes this test unnecesary.
:: if "%c" == "33" goto top
goto nr
:end
:: Restore original screen colors--a touch the author forgot!
cls %old_fg on %old_bg
:: Restore environment.
endlocal
:: Restore cursor.
setdos /s60:10
quit
---
* Origin: IMS-NET #1 Tokyo,Japan (6:730/6)
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/08/1992
To: ALL Num: 11269 Date: 2/04/1992
From: JORJ STRUMOLO Re: 0 Time: 11:43 pm
Subj: Alias: AR0 Prvt: N Read: N
There's a freeware utility called AR.COM, by Gordon Haff, that can
view/extract/delete files in an ARJ archive. Or at least it could,
before the change in header format in ARJ 2.30 messed it up. I've
managed an alias that can duplicate at least the viewing part of AR.COM;
I call it AR0. It presents the inventory list, then extracts the
selected file to the screen, using FV.COM, the viewer that comes with
Vern Buerg's List. I'm wondering, is it possible for me to duplicate
the delete and extract abilities as well, perhaps using INKEY? Or would
the fact that I am in List (either Vern Buerg's or 4DOS's internal) when
I hit the D to Delete or E to Extract make that impossible? In any case,
here's the alias, split into lines for understandability.
FV %1 > a.v
set ej=%@substr[%@select[a.v,2,9,21,70,┤ Select File to View ├],0,12]
del/q a.v
if "%ej"="" Quit
arj p %1 %ej | List /s
set ej=
---
■ SPEED 1.0E #1019 ■ Success comes in a can. Failure comes in a cannot. ■
PCRelay:IDSVAX -> #82 RelayNet (tm)
PCRelay:DCINFO -> #16 MetroLink (tm) International Network
4.10 DC Info Exchange MetroLink International Hub
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/08/1992
To: HAROLD DRABKIN Num: 11277 Date: 2/06/1992
From: DENNIS MCCUNNEY Re: 0 Time: 2:27 am
Subj: detect mouse driver Prvt: N Read: N
HD│ DM> If you are running 4DOS 4.0, it's simple. There is a built in
HD│ DM>variable called %_MOUSE. This will be set to 1 if a mouse is installed,
HD│ DM>and 0 if not.
HD│
HD│ ARGGH!!! I was looking and looking through the manual and the line was
HD│ temporarily transparent!!! Thanks.
I know that feeling! It *hides* from you, and appears later to
thumb its metaphorical nose at you and go "Nyah, nyah! I've been here
all the time!"
HD│ DM> If you don't run 4DOS 4.0, there is a work around. Due to the way
HD│ DM>DOS works, device drivers appear to be files in directories. You can
HD│ DM>use IF EXIST to test for the existance of the driver, like this:
HD│
HD│ AH. That's why 4dos reports a file called prn, lpt, com1, com2, and con
HD│ if I type dir lpt*, for example?
Yep, that's the reason. That same trick can also be used to test
for the existance of a directory, which COMMAND.COM won't let you do
directly. (Under 4DOS, "if isdir" does it.) IF EXIST works on files,
but not directories, so
if exist \foo
will fail if foo is a directory, but
if exist \foo\nul
will succeed, because DOS will see the nul device in directory foo if
directory foo exists.
---
■ KMail 2.91c The Running Board - The New York Regional Hub for RIME (tm)
PCRelay:RUNNINGB -> #3 RelayNet (tm)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/08/1992
To: MAYNARD HOGG Num: 1352 Date: 2/04/1992
From: ED KOWALSKI Re: Time: 10:16 pm
Subj: Now.Btm Prvt: N Read: N
> :: "Randomize" upper left corner of box using seconds field.
> set z=%@int[%@eval[%@substr[%_time,6,2]/2.6]]
> set s=%@int[%@eval[%@substr[%_time,6,2]/1.6]]
Howdy Maynard, something like this is a little more "random"
set z=%@int[%@eval[(%@substr[%_time,6,2]+%@substr[%_time,3,2])%%22]]
set s=%@int[%@eval[(%@substr[%_time,6,2]+%@substr[%_time,3,2])%%37]]
--- FD 1.99c
* Origin: Frost Byte Central -Saskatoon,SK- (1:140/12.9)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/08/1992
To: MARK WATKINS Num: 1349 Date: 2/05/1992
From: DAVID POWERS Re: Time: 7:26 am
Subj: ZDir Prvt: N Read: N
Hi Mark!
I don't know about the swapping problem, but I think these changes will speed
up the program.
> cls
> setlocal
unalias dir
::get a summary of the dir and from that take the number
::of files, get rid of error messages
dir/ku %& >&>nul |set _lin=%@substr["%@line[con,0]",23,9]
::optional stupid check for way-too-high number
iff %@index["%_files", ] == -1 then
echo There are a million or more files in this directory.
echo Time for a new subdirectory. Quitting.
quit
endiff
::get the number of files, and get rid of any commas that
::might be in that number (for a message base, I guess, or
::any other dir with >999 files in it)
set _files=%@eval[%@substr["%_files",1,%@index["%_files", ]]]
iff %_files LE 17 then
dir %&
elseiff %_files LE 34 then
dir /2v %&
elseiff %_files LE 68 then
dir /4v %&
else dir /wvp %&
> endiff
Thanks for the idea! A simpler version of the above, but a little slower,
would be to do all the @functions as one line,
dir %& |set _files=%@lines[con]
The numbers above would want to be increased (17 to 23 or so, that kind of
thing), though. ttyl.
---
* Origin: Edges. It isn't a BBS, it's just an attitude. SF, CA.
(1:125/54)
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/09/1992
To: ALL Num: 11301 Date: 2/06/1992
From: PIERRE DARMON Re: 0 Time: 11:06 am
Subj: Cmd line alias expansion Prvt: N Read: N
I have cooked up a .btm file that does automatic alias expansion of the
current command line at the press of a function key. The function key has
to be aliased properly as explained in the .btm file. Here is expand.btm
Note: I have replaced <at-sign> with #
------------------------------- expand.btm ---------------------------
#echo off
rem Automatic alias expansion of command line
rem
rem A function key must have been assigned the following alias:
rem #Ctrl-F1=Ctrl-K#expandCtrl-Xr
rem Ctrl-K and Ctrl-X must be replaced by the actual character
rem
rem This puts the current command line into the history buffer without
rem executing it, and then runs the expand batch file, without placing
rem the "expand" command into the history
rem
rem Can be called repeatedly by pressing the key again.
setlocal
rem put the history into a file and grab the last line into cmd
history>!%vdisk%\$temp$.$$$
set cmd=%#line[%vdisk%\$temp$.$$$,%#lines[%vdisk%\$temp$.$$$]]
del %vdisk%\$temp$.$$$ /q
rem echo cmd is %cmd
rem extract the first word of the command and set first and rest
set i=%#index[%cmd, ]
iff %i == -1 then
set first=%cmd
set rest=
else set first=%#substr[%cmd,0,%i]
set rest=%#substr[%cmd,%#eval[%i+1]]
endiff
rem echo first is %first
rem echo rest is %rest
rem if %first is an alias expand it, else beep
iff isalias %first then
rem echo %first is an alias
set first=%#alias[%first]
else rem echo %first is not an alias
beep
endiff
rem echo %first %rest
rem Erase the original command from the history (Up Ctrl-D Esc) and place
rem the expanded command onto the command line without a carriage return
keystack Up Ctrl-D Esc "%first %rest"
endlocal
quit
------------------------------- expand.btm ---------------------------
This works fine, except for one thing. If the alias contains a
redirection symbol, the redirection will take place when the alias
expansion is performed. Does anyone know of a way around this?
Also if someone knows how I could get the expansion to take place on the
same screen line as the original, that would be great. Even though I
placed an <at-sign> in front of expand in the key alias, it still shows
on the screen. I have tried to place a ^ after the Ctrl-K in the key
alias definition but then it seems to hang (I can get out with Ctrl-Break
however).
If anyone has suggestions on how to improve on this batch file, you are
more than welcome. In the mean time, enjoy your alias expansion.
Pierre Darmon
PCRelay:OURHOUSE -> #1339 RelayNet (tm)
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/09/1992
To: DENNIS MCCUNNEY Num: 11303 Date: 2/06/1992
From: GREG VAIDMAN Re: 0 Time: 11:55 pm
Subj: Multiple commands Prvt: N Read: N
╓──┤ on 02-06-92 (20:37), dennis mccunney said about "multiple commands" ├───╖
║ ║
║ DM├╢│GV│ why not use a key alias whose first char is a control-k, ║
║ ├╢│GV│ runs a command which pipes the command history into a fil ║
║ ├╢│GV│ parses the file useing the %#lines[] & %#line[] functions ║
║ ├╢│GV│ tried this when he first mentioned it, but forgot to post ║
║ ├╢│GV│ reply ( i had to go to work! ). ║
║ ║
║ DM├╢│ Did it work? I tried a variant on that idea and it didn't work ║
║ ├╢│for me. ║
║ ║
╙─────────────╥────────────────────────────────────────────────╥─────────────╜
║ and greg vaidman replied on fri, 02-07-1992... ║
╙────────────────────────────────────────────────╜
yep, try this:
╓─── control-k
║ ╓─── control-x
alias {at}={^k}c:\getline{^x}r
and create getline.btm:
{at}echo off
setlocal
set f=%{at}unique[%tmp]
history >! %f
set l=%{at}eval[%{at}lines[%f]-1]
echo «%{at}line[%f,%l]»
del/q %f
obviously, this depends on the user not changing the default
keystrokes, which is very easy to do with the 4dos.ini file.
of course, you could parse the file for the ^k char, and
pipe the output of setdos for the ^x char, but WHY!?
OΓεO
⌡ ⌡
---
■ OLX 2.1 ■ I'd like a brain on drugs with a side order of bacon.
PCRelay:DATABASE -> #1251 RelayNet (tm)
PCRelay:DCINFO -> #16 MetroLink (tm) International Network
4.10 DC Info Exchange MetroLink International Hub
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/10/1992
To: RALPH SIMS Num: 1451 Date: 2/07/1992
From: RAYMOND BERIAU Re: Time: 5:48 pm
Subj: %@diskfree Prvt: N Read: N
Hello Ralph Sims (1:343/94).
In a message dated 05-Feb-92 @ 08:20, you wrote to All:
RS> I give up. How can I test for freespace on a drive and execute a
RS> command if that freespace is less than n mBytes. 4DOS 4.0 Rev B1 in
RS> use.
How about using a variation of the following:
set drive=%1 ^ if "%1" == "" set drive=c
set maxbytes=%2 ^ if "%2" == "" set maxbytes=10000
iff "%@diskfree[%drive:,b]" gt "%maxbytes" then
rem Command to be executed when the disk space is greater than
rem a preset maximum number of bytes.
endiff
set maxbytes=
set drive=
quit
You can call the above batch file with {drive_letter} {maximum_bytes}.
Otherwise, the default drive will be "C" and the maximum byte value will be
10000
--- Msged/sq
* Origin: INFODATA Informations - HST/DS [v.32|v.42Bis] (1:242/90)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/10/1992
To: RALPH SIMS Num: 1469 Date: 2/07/1992
From: WILLIAM HUGHES Re: Time: 7:16 pm
Subj: %@diskfree Prvt: N Read: N
RS>I give up. How can I test for freespace on a drive and execute a
>command if that freespace is less than n mBytes. 4DOS 4.0 Rev B1 in
>use.
if %@diskfree[drive,m] LT n do something
* SLMR 2.1a * Press any key to continue or any other key to quit
--- MsgToss 1.9c (r)
* Origin: Nul 512-615-NUL1 HST/V32b,615-NUL2, NUL3, 1.2Gig(1:387/255)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/10/1992
To: MORRIS TURPIN Num: 1424 Date: 2/07/1992
From: TOM RAWSON Re: Time: 1:43 pm
Subj: %@exec[ ] Prvt: N Read: N
MT> Following your message as a guide, I added the READHIST
MT> alias (I already had the 4EXIT.BTM file) and modified my
MT> prompt to add "%@exec[readhist]" at the beginning of my
MT> prompt, just after the "`". The top line of my prompt
MT> worked as before, but the second line (which was "C>",
MT> created by the "$n$g") now became "0C>". I assume that
MT> the "0" is the errorcode returned by the %@exec[] command,
MT> but isn't the errorcode supposed to be trapped by the
MT> ">&nul" at the end of the alias? The only solution that I
MT> could come up with to eliminate the unwanted "0" was to
MT> add a "$h" after the "%@exec[readhist]" command which finally gave me:
Oops -- my oversight. The $h is required as you found. >&nul won't fix it
as it is not output, it is prompt text!
... Tom
--- EZPoint V2.1
* Origin: Tom's EZPoint (1:130/29.110)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/10/1992
To: MARTIN GERDES Num: 1464 Date: 2/07/1992
From: JOHN GOODIN Re: Time: 3:26 am
Subj: CD-ing - keyboard d Prvt: N Read: N
Heres a neat little batch file/alias for changing to any drive and
subdirectory.
Syntax is TO d sub1 sub2 sub3
Example: TO C 4DOS MYALIAS BATCHES
Would change to C: and then type CD\4DOS\MYALIAS\BATCHES
Here is the short version.
@ECHO OFF
CLS
REM Change Drive
%1:
REM Jump to any subdirectory up to eight levels deep.
FOR %%A IN (\ %2 %3 %4 %5 %6 %7 %8 %9) DO CHDIR %%A
Could be rewritten as an alias, However this will run under any version of
DOS from version 3.20 and up.
Reguardless of the keyboard being used, you can change to any sub without
having to locate the blasted \ key. No two keyboard manufacturers ever put
it in the same place don't you know.
---
* Origin: PC MUNCHLAND (404) 561-8043 -- Christian Ethics!!! (1:3613/10.9)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/11/1992
To: DAVID POWERS Num: 1493 Date: 2/08/1992
From: MARK WATKINS Re: Time: 10:03 am
Subj: ZDir Prvt: N Read: N
--- David Powers said this to Mark Watkins Re: ZDir...
DP> Hi Mark!
DP> I don't know about the swapping problem, but I think these changes
DP> will speed up the program.
David,
Thanks! I was hoping someone would have a way to speed it up. That's
the reason I wanted to toggle swapping in the first place. Your method
sped things up noticeably. Here's the current ZDIR (I had to change a couple
of things):
cls
setlocal >need the original dir alias to be restored later!
alias dir `*dir`
dir/ku %& >&>nul |set _files=%@substr["%@line[con,0]",23,9]
*
********** >I think this was still "lin" in your
>message.
iff %@index["%_files", ] == -1 then
echo There are a million or more files in this directory.
echo Time for a new subdirectory. Quitting.
quit
endiff
set _files=%@eval[%@substr["%_files",1,%@index["%_files", ]]]
iff %_files LE 20 then >changed the number of files
dir %& >in this section.
elseiff %_files LE 42 then
dir /2v %&
elseiff %_files LE 69 then
dir /4v %&
else dir /wvp %&
endiff
Thanks a bunch!
.\\ark \\'atkins
... C program run... Run, program, run... PLEASE!!!!
--- Blue Wave/TG v2.05
* Origin: Dr.Image - Home of Graphics (405)842-6831 HST (1:147/88.0)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/12/1992
To: TOM RAWSON Num: 1510 Date: 2/09/1992
From: MARK WATKINS Re: Time: 9:39 am
Subj: Error message. Prvt: N Read: N
--- Tom Rawson said this to Mark Watkins Re: Re: Error message....
MW> For the last couple of days I've been getting the following error
message:
MW> 4DOS server error -- XMS move failed
TR> This means the XMS driver couldn't swap 4DOS back in. It should NEVER
TR> happen, unless somebody trashed our memory or the XMS driver itself.
TR> I think you have to follow the procedures in the manual for cleaning
Tom -
I found the culprit, but I don't understand why it would cause the
problem I was having. It was caused by the swapping toggles in the following
.btm:
:::::::::::::::::::::::::::::::::: ZDIR.BTM
:::::::::::::::::::::::::::::::::::
::
::
:: Zdir is meant to replace the dir command. It automatically sorts the
::
:: specified directory into the proper number of columns needed to display
::
:: the entire directory in a single screen. It uses the /v switch to give a
::
:: newspaper-style vertical sort. In order to run it when "dir" is typed,
::
:: alias DIR=zdir. When the batch is run, it temporarily resets dir to its
::
:: original value to prevent conflicts with functions that issue a "dir"
::
:: command (such as "select"). It will accept all of the normal dir switches
::
:: and arguments.
::
:: .\\ark \\'atkins Tue 01-14-1992
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
cls
setlocal
alias dir `*dir`
*dir %& >e:dir
set lin=%@lines[e:\dir]
iff %lin GT 2 .and. %lin LE 23 then
*dir %&
else
iff %lin GT 23 .and. %lin LE 42 then
*dir /2v %&
else
iff %lin GE 43 .and. %lin LT 69 then
*dir /4v %&
else
iff %lin GE 69 then
*dir /wvp %&
else *dir %&
endiff
When I removed the swapping commands, I stopped getting the error
message. Here are my config files:
CONFIG.SYS:
device=c:\dos\himem.sys /hmamin=10
device=c:\above\emsdrvr.sys
lastdrive=G
device=c:\dos\ramdrive.sys 1440 512 112 /e
device=c:\dos\ramdrive.sys 350 /e
device=c:\vansi.sys
device=c:\vgadisk.sys
install=c:\4dos\kstack.com
files=99
buffers=20
dos=high
shell=c:\4dos\4dos.com
AUTOEXEC.BAT:
Loadbtm off
Swapping off
Verify On
Break On
alias /r c:\4dos\aka
c:\bin\Timepark 3
c:\dos\Mode Con Rate=32 Delay=1
c:\pctools\Mirror C:
c:\bin\fmark e:\cache
c:\pctools\pc-cache /write=on /sizext=800 /id /ie /if /quiet
c:\pctools\datamon /light+ /tracker+
c:\bin\newkeys
c:\bin\cboot nocrit
c:\bin\toglclok c1b d-
c:\bin\mark z
set /r c:\4dos\reset
loadbtm on
copy/q c:\4dos\4*.com;*.ini;4*.btm e:\ >NUL
copy/q \archive\zip\pkunzip.*;pkzip.* e:\ >NUL
copy/q \bin\q.*;mark.*;release.*;list.*;fv.*;zgen.exe;ncd.*;scan.* e:\ >NUL
copy/q c:\bat\*.bat;zd*.* e:\ >NUL
beep 1953 1 1800 1 1953 1
Swapping on
4DOS.INI:
Alias = 9216
Ansi = Yes
BatchEcho = No
BeepFreq = 883
BeepLength = 3
ColorDir = wks th? cap gl fon dvp dvs:yel;doc me txt lst asc msg:bri cya;
slt fr?:bri yel;zip arj lzh sdn arc pak zoo:bri blu;
gif bak slc we?:mag;com exe btm bat tu?:gre;sys sa? dl bbs
use:red;
cfg ini pif dat cnf mo?:blu;log dirs su?:cya;fli new:bri gre;
1st:bri bli red on bla;Hidden:bri bla on bla
CursorIns = 30
CursorOver = 5
Environment = 1536
EnvFree = 128
HelpPath = c:\4dos
HistMin = 4
History = 1024
HistWinColor = cyan
StackSize = 5120
StdColors = whi on bla
Swapping = xms, d:\, c:\4dos
Any ideas??
Thanks,
.\\ark \\'atkins
... 4dos 4ever!
--- Blue Wave/TG v2.05
* Origin: ModemLink BBS =: Yukon, OK := HST/V32 (1:147/24.0)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/12/1992
To: ALL Num: 1503 Date: 1/29/1992
From: DAVID BLISS Re: Time: 9:54 pm
Subj: Useful Tip Prvt: N Read: N
Hey all! Heres a handy little alias that took me a while to figure
out... it sets up 4Dos to use a 2 column dir normally, BUT if there
are any descriptions for files in this dir, it defaults back to 1
column with descriptions! Note that this is not perfect (Notably
doing DIR C:\WHATEVER\*.* doesn't detect descriptions), but feel
free to improve or modify it any way you want...
DIR=iff exist descript.ion then^*dir %& /1/p^else^*dir %& /2/p^endiff
Dave
* SLMR 2.1 * What does this red button do?
---
* Origin: The Aliens BBS (1:376/92)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/12/1992
To: ALL Num: 1500 Date: 1/29/1992
From: DAVID BLISS Re: Time: 9:41 pm
Subj: Running Ra & 4Dos4 Prvt: N Read: N
Tip for anyone running RA & 4Dos4..
To make entrys to the system log in standard RA format, set the
env variable RANODE to node number (01 normally), and use this
BTM....
@echo off
set t=%_time
set d=%_date
set m=%@substr[%d,0,2]
set day=%@substr[%d,3,2]
if %m == 01 set m=Jan^goto mcvt
if %m == 02 set m=Feb^goto mcvt
if %m == 03 set m=Mar^goto mcvt
if %m == 04 set m=Apr^goto mcvt
if %m == 05 set m=May^goto mcvt
if %m == 06 set m=Jun^goto mcvt
if %m == 07 set m=Jul^goto mcvt
if %m == 08 set m=Aug^goto mcvt
if %m == 09 set m=Sep^goto mcvt
if %m == 10 set m=Oct^goto mcvt
if %m == 11 set m=Nov^goto mcvt
if %m == 12 set m=Dec^goto mcvt
:mcvt
echo > %day-%m %t RA%bbsnode %&
unset t d m day
PS If anyone can suggest a faster method (Even tho this takes under .2 secs!)
I'd appreciate it.
Dave
* SLMR 2.1 * If screwups were dollars, I'd be a millionaire!!
---
* Origin: The Aliens BBS (1:376/92)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/13/1992
To: TOM RAWSON Num: 1556 Date: 2/11/1992
From: LARRY MINTON Re: Time: 9:10 am
Subj: %@exec[...] Prvt: N Read: N
TR>I don't think so. %@EXEC can't chasnge the content of the rest of the
TR>prompt ... well maybe you could do it with another variable:
I liked this one I came up with. It's for a batch file that creates
temporary files that I want to delete if the user ctrl-c's out of the batch
file:
set sprompt=%prompt
set file=%@unique[.]
prompt `%@exec[del/q %file^set prompt=%sprompt^unset file sprompt]$h%prompt`
LAM
===
* SLMR 2.1a * Nothing is so smiple that it can't get screwed up.
--- ConfMail V4.00
* Origin: Utilities Exchange (614-442-6696)-Utilities Exchange BBS
(1:226/60)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/14/1992
To: MARK WEISS Num: 1558 Date: 2/03/1992
From: TONY DUNLAP Re: Time: 9:05 am
Subj: 4DOS.INI Prvt: N Read: N
> TD> PROMPT $E[25;1H$E[10;41;33m(%%@dosmem[k]K)[$P]$E[1;44;33m
> TD> ^^^^^^^^^^^^ ^^^^^^^^^^^
> TD> The first one makes the prompt bright yellow on red.
> TD> After the prompt is displayed, the second one changes
> Unfortunately, I'm trying to avoid that bane of device drivers --
> mainly ANSI.SYS. <grin>
Been thinking...
Prompt %@exec[color whi on bla]$h$P$G will work without ansi.
The $h is to erase the return code from the @exec.
Later
---
* Origin: ODOT District 9 (1:2220/30)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/13/1992
To: CARTER RAINES Num: 1537 Date: 2/04/1992
From: BILL HAYLES Re: Time: 9:18 pm
Subj: Prompt Prvt: N Read: N
Hi, Carter,
On 27th January you asked all:
CR> Is there any way to make the prompt one color and the
text another?
Yes, there is - as long as you have ANSI.SYS (or
equivalent) loaded. One of the beauties of 4DOS is that
it allows 255 characters per command line (COMMAND.COM
only allows 127), so that some complex prompts can be
built up. I set up different prompts as environment
variables so that I know what shell I'm in, and whether
it's 4DOS or otherwise. Three of my prompts each of which
is, of course one command line, are as follows:
SET PROMPT1=$e[37;44m$e[KSecondary 4DOS Shell No.$z on $d
at $t$_$e[34;47m$e[KBase Memory: %%@dosmem[K]K ║ Expanded
Memory: %%@ems[K]K ║ Extended Memory:
%%@xms[K]K$_$e[37;44m$e[KCurrent Path is $P $e[5m»»
$e[0;31;46m$e[K
This gives me a part white on blue and part blue on white
prompt with red on cyan text
SET PROMPT2= $e[33;46m$e[KPrimary 4DOS Shell No.$z on $d
at $t$_$e[36;43m$e[KBase Memory: %%@dosmem[K]K ║ Expanded
Memory: %%@ems[K]K ║ Extended Memory:
%%@xms[K]K$_$e[33;46m$e[KCurrent Path is $P $e[5m»»
$e[0;31;46m$e[K
This gives a part yellow on cyan and part cyan on yellow
prompt with my red on cyan text
Secondary DRDos Shell under Powermenu on $d at
$t$_$e[36;41mCurrent Path is $e[36;41mCurrent Path is
$e[31;46m $P $e[5m»» $e[0;31;46m
This is the COMMAND.COM prompt, of necessity shorter, but
still with a cyan on red prompt and red on cyan text.
Hope this answers your problem and gives you some ideas
Bill
----------------------------------------
TNT XL/v6.0α
--- HALCYON 5.00B
* Origin: Fox's Den BBS (0689) 827085 (2:440/28)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/15/1992
To: ALL Num: 1571 Date: 2/11/1992
From: TONY DUNLAP Re: Time: 10:00 pm
Subj: 4FILL.BTM Prvt: N Read: N
This BTM will copy (or move) files from a subdirectory to a
diskette, asking you to insert diskettes until all the specified files are
copied (or moved). Any descriptions will follow the files. It uses a couple
of temporary files to store the filenames in order from largest to smallest
in order to attempt a best-fit. An option to format between diskettes is
provided and if the target is not empty, you are prompted if you want to
delete the files on the target.
It works by creating a file containing the files (fitting the filespec you
supply on the command line) to be copied in biggest to smallest order. Then
it takes one file at a time from that list and compares its size with the
remaining space on the drive. If it fits, it will be coppied. If not, it is
redirected to a second file. After it has processed all of the files in the
first list, it deletes the first list then tests for the existence of the
second list. If the second list is not there, all of the files from the first
list were copied and you are done, If the second list does exist, it is
renamed to the first list and you are prompted to insert another disk and the
process starts over at the beginning of this paragraph.
I'm sure it's not perfect, but I haven't broke it yet. It will
fill diskettes when possible to within 1k. Any suggestions on streamlining or
otherwise improving it are welcome.
The BTM will be posted in the following 2 messages, each about 75 lines long.
I will post the BTM ---ONCE ONLY---
If someone misses a part, or your BBS cuts the end off of them (FIDONET specs
allow up to 64k in a message, some BBS software doesn't) ask your sysop F'req
the file "4FILL.ZIP" from 1:2220/30.
---
* Origin: DISCOVER (1:2220/30.1)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 1/16/1992
To: JACK SHOUP Num: 1608 Date: 2/12/1992
From: DAVID POWERS Re: Time: 8:16 am
Subj: Deleting small files Prvt: N Read: N
Hi,
> Anybody got a .BTM or complex alias that will examine
> a directory and delete all files whose size is less
> than some specified (in the procedure) small number of
> bytes, say all files less than 24 bytes long??
In 4Dos 4, you could do this:
setlocal
set _highnum=25
iff %# gt 0 then
iff %# == 1 then
alias iff=elseiff
set _then=then
endiff
*iff isdir %1 then
cdd %1
iff "%@int[%[%#]]" == "%[%#]" %_then set _highnum=%[%#]
else
echo I can't find "%@upper[%1]" dir.
quit
endiff
endiff
for %kill in (*.*) if %@filesize[%kill] lt %_highnum del/q %kill
endlocal
where syntax is:
KILSMALL [path] [smallest size to allow]
It's a little slow; I'm sure someone will have a faster routine than the For
loop for this.
While testing this, I deleted the file that FrontDoor uses to manage system
security, and befuddled myself. This program works as advertized! :)
---
* Origin: Edges. It isn't a BBS, it's just an attitude. SF, CA. (1:125/54)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/19/1992
To: LARRY MINTON Num: 1627 Date: 2/14/1992
From: MAYNARD HOGG Re: Time: 12:41 pm
Subj: %@Exec[...] Prvt: N Read: N
LM>---
set sprompt=%prompt
set file=%@unique[.]
prompt `%@exec[del/q %file^set prompt=%sprompt^
unset file sprompt]$h%prompt`
LM>---
I love it! TRAP for DOS!
You forgot to mention, however, that this must precede SETLOCAL.
---
* Origin: IMS-NET #1 Tokyo,Japan (6:730/6)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/19/1992
To: GEORGE WORLEY & ALL Num: 1644 Date: 1/21/1992
From: CHRIS RAISIN Re: Time: 11:44 pm
Subj: 4DOS and aliases Prvt: N Read: N
In a message from GEORGE WORLEY
to ALL Recvd:
on 13-01-92 (19:59)
the following comments flew around the world:
=============================================
GW>Hi everybody,
GW>Is there a way to check to see if the alias's have changed so that upon a
GW>4EXIT you can save the current alias?
George, there is no way that I know of to do this, but the following
system is the one I use....and it works beutifully!
1. Create a file called ALIASES.TXT in the subdirectory where you
store your 4DOS files.
2. Using an editor write your aliases one to a line in the following
format:
AL=d:\4dos4\al.btm
ALI*AS=alias /p
etc.
etc.
NOTE: The two aliases shown above should be placed in this file.
The first one must be there, the second is optional.
3. In your subdirectory where you house 4DOS (d:\4dos4 on my system)
create the following BTM file called AL.BTM:
(Note: Some changes may be needed, e.g. if you do not use qedit
etc.)
qedit d:\4dos4\aliases.txt
cls
unalias *
alias /r d:\4dos4\aliases.txt
sort < d:\4dos4\aliases.txt > d:\4dos4\aliases.srt
del d:\4dos4\aliases.old
ren d:\4dos4\aliases.txt aliases.old
ren d:\4dos4\aliases.srt aliases.txt
echo Aliases updated!
This routine will allow you to add/edit an alias, dump all the
current aliases, load the new list, sort the new list and save
it anew, and tell you that they have been updated!
4. As part of your starting-up procedure (i.e. in AUTOEXEC.BAT or a
batch file that AUTOEXEC.BAT calls, place the following line:
call d:\4dos4\aliases.btm
Do NOT place it in your 4START.BTM file, since you do not want it
to load every timne you shell into a secondary (or lower) shell.
5. In your 4DOS subdirectory create a file called ALIASES.BTM which
reads:
echo Setting up aliases...
unalias *
alias /r d:\4dos4\aliases.txt
echo Aliases established!
echo.
echo.
And that should do it! It is a shame that we cannot attach a comment
line to each alias so that when you run the command ESET a
description of what the alias does is there for the operator to see.
I hope this all makes sense....let me know how you went and if you
have any improvements to this humble but effective system.....regards
from a 4DOS4 Aussi freak......
* SLMR 2.1 * !retupmoc siht edisni deppart m'I !!pleH
* SLMR 2.1 *
--- Maximus 2.00
* Origin: Brisbug PC User Group BBS (3:640/821)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/19/1992
To: ALL Num: 1712 Date: 2/11/1992
From: HENK SIMMELINK Re: Time: 8:14 pm
Subj: changing to a subdirector Prvt: N Read: N
G'Day 2 U *
Do you have it too, wanna go to a subdirectory where a certain utility or
program is located, but it is a long name to type? I do and often I have of
these programs an environment variable set..... Very frustrating if you
can't use them! That's why I came up with something like this:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
rem the file envio is my list of variables, I thought it was "enviornment"
rem a long time ago, never changed it since then.... :-)
set ttemp=%@select[%@path[%comspec]\envio, 0, 10, 24, 70, Choose:]
if "%ttemp" == "" quit
set ttemp3=%@full[%@substr[%ttemp, %@eval[%@index[%ttemp,=]+1]]]
iff isdir %ttemp3 then
cdd %ttemp3
unset ttemp ttemp3
else
set ttemp4=%@path[%@full[%ttemp3]]
%ttemp4
unset ttemp ttemp3 ttemp4
endiff
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Someone suggestions?
First I used a SETLOCAL-statement, but then the original directory is
restored after finishing the batchfile..... So is it possible to use the
setlocal-statement WITH changing drive/directory?
Yours sincerely,
Henk Simmelink
--- GEcho/beta
* Origin: Hup hub, hup hub, hup hub, hup hub Albert! (2:283/4.6)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/19/1992
To: MAYNARD HOGG Num: 1676 Date: 2/15/1992
From: HUGO LANDSMAN Re: Time: 6:10 pm
Subj: Cursor On/Off Prvt: N Read: N
Hoi Maynard!
Op <10 Feb 1992 21:54> schreef Maynard Hogg (6:730/6) aan Mark Ruys:
MH> Thanks, MARK RUYS and HUGO LANDSMAN. I had to add the UNALIAS because
MH> my alias for SET was getting in the way.
You could insert a * before SET to prevent the alias expansion.
MH> I'm a little leery of the magic number 7, however, since the
Right, Mark too. And I wouldn't like it my batchfiles as well. So, change
this:
MH> setdos|(set %@line[con,7]^set %@line[con,0])
to:
setdos|(set %@line[con,%_co_magic]^set %@line[con,0])
Now, where does _CO_MAGIC come from? You set it in your AUTOEXEC.BAT with
the lines:
call co_magic
set _co_magic=%?
Of course, you'll need the CO_MAGIC.BTM too:
setlocal
set file=%@unique[%temp]
setdos>!%file
setdos/e%@char[1]
set n=0
:Loop
set l=%@line[%file,%n]
if %l==**EOF** goto End
iff %@index[%l,CURSOR OVERSTRIKE]==0 then^set return=%n
elseiff %@index[%l,ESCAPE]==0 then^set %l^setdos/e%escape
endiff
set n=%@eval[%n+1]
goto Loop
:End
del/q %file
quit %return
The escape character would generate a syntax error when read unchanged, so I
had to kludge around it a bit. But it gets restored to the original value
(not %@char[1]) too.
Greetings,
Hugo
--- Msged/Q 1.60
* Origin: The fifth columnist (2:283/406.5)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/19/1992
To: JACK SHOUP Num: 1707 Date: 2/13/1992
From: WILLIAM HUGHES Re: Time: 12:36 pm
Subj: Deleting Small files Prvt: N Read: N
JS>Anybody got a .BTM or complex alias that will examine a directory and
>delete all files whose size is less than some specified (in the
>procedure) small number of bytes, say all files less than 24 bytes
>long??
alias killsmal `pushd ^ cdd %1 ^ global /I for %a in (*.*) if
%@filesize[%a,b] LT %2 del %a ^ popd`
Call this with KILLSMAL [drive:\directory] [size]
Remove the "global /I" if you do not want it to recurse into lower
directories.
* SLMR 2.1a *
--- MsgToss 1.9d (r)
* Origin: Nul 512-615-NUL1 HST/V32b,615-NUL2, NUL3, 1.2Gig (1:387/255)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/19/1992
To: HEINZ SONNENWALD Num: 1630 Date: 2/15/1992
From: MAYNARD HOGG Re: Time: 8:39 am
Subj: Double Commands In Histor Prvt: N Read: N
HS>how I can delete double Entries in the History-List?
How about this variation on p. 228 in the manual?
>setlocal
>set tmpfile=%@unique[.]
>history |tolower |sort |uniq >%tmpfile
>history /f
>history /r %tmpfile
>del %tmpfile
Note: %@unique[] requires DOS 3.0 and above.
---
* Origin: IMS-NET #1 Tokyo,Japan (6:730/6)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/19/1992
To: ALL Num: 1682 Date: 2/16/1992
From: MARK WATKINS Re: Time: 2:22 pm
Subj: Pakem.btm 1/3 Prvt: N Read: N
Hello All! -
While we're waiting for Tony D. to post his 4fill.btm, I thought
I'd go ahead and post my pakem.btm. It sounds like it takes the same
approach to filling diskettes, and I thought it would be interesting to
compare them. Pakem isn't finished yet, as I intend to add a few features
such as selective deletion and formatting of the target disk, and the option
of redirecting the list of unprocessed files to a diskfile. I don't know when
I'll find time to do this so I decided to go ahead and post pakem now. It
works
great here and I'd be interested in any feedback you may have. Always looking
for more efficient way to 4DOS.
Here's the 3-part debug script. Instructions are at the end.
N PAKEM.ZIP
E 0100 50 4B 03 04 0A 00 00 00 06 00 12 6F 50 18 AA 97
E 0110 3A 40 4E 07 00 00 12 15 00 00 09 00 00 00 50 41
E 0120 4B 45 4D 2E 42 54 4D 0D 02 01 12 23 14 15 36 37
E 0130 68 89 9A DB 3C 05 06 12 13 44 C5 F6 96 F7 75 EA
E 0140 08 0E 7C 90 50 C3 AE 2D DB D6 A5 58 BA 6D 41 A8
E 0150 07 56 F0 6C A8 40 FE 41 04 47 11 40 E3 52 CB C6
E 0160 AD 9B 56 6E D9 39 CA 9B 26 D1 A7 53 88 B7 4B BC
E 0170 78 5D 82 1C FA 96 ED 5B B9 20 DB BE 75 9B 96 CE
E 0180 F1 C3 F1 DE 66 CB CA 21 DE 64 5D 40 03 F2 D4 BC
E 0190 6E E9 86 C5 D3 95 04 B9 F5 67 97 E1 AD D2 65 59
E 01A0 BC 74 8E DF 6C 5A B6 65 8C 73 97 2E 9A 81 00 1A
E 01B0 2E 38 9F 5A C6 7E 8F A5 D3 74 5D 53 C4 72 2E 1C
E 01C0 E8 F5 AC 5B 82 6C 5A 77 CE F5 1A DE 65 41 CE 59
E 01D0 AA C3 9C DD 20 C5 CA 0D 3B 86 7C D3 9D F3 BC DF
E 01E0 82 0C CB 96 0D 34 30 82 83 C2 CD 41 DE 4D B3 FF
E 01F0 62 CB FC F5 B7 63 9C 97 B7 26 C3 AC CC D5 94 0B
E 0200 7A D3 4D DB B6 AC 0B 68 80 14 B6 BB 7D 33 BC 90
E 0210 5C CA 0A D9 63 CA BC 09 72 2C 9A B5 7B AE 0B 68
E 0220 4B DE 6F DB B6 0D EB 96 0C 34 40 65 9B D6 6D 19
E 0230 20 01 2B 6C 40 B2 3D C0 0B 7E AA 68 D3 8C B9 C5
EE0044 88BB EE22 7744 BB55 2200 7722 88DD BB11
EE0055 3311 DD11 77CC 77FF EE77 DD44 AA77 BB22
EE0066 99BB 99BB FFAA EEFF 1188 44AA 33AA EE44
EE0077 7799 AA77 55BB 4400 0011 6666 AAFF 9933
EE0088 FF99 99BB BBAA BBDD AA99 33DD DD66 5533
EE0099 FF44 AACC 3377 DD11 4455 2299 FF77 CCFF
EE00AA EE44 2211 EEDD BB55 00CC 44DD 2299 1155
EE00BB AA44 AA22 FF33 EE88 9944 DD77 8811 EEAA
EE00CC DDCC DDAA 1199 BB88 77FF EEBB 88DD 11EE
EE00DD 0066 AA33 DD22 CC00 3333 DDFF 3377 33AA
EE00EE 9999 FF55 7799 77BB 3366 AA44 EE44 AA44
EE00FF 2288 FFDD 9955 2277 BBAA 66AA 11DD 11DD
EE0000 9999 55BB 8811 CC00 CC88 66BB 5533 CCAA
EE0011 5511 CCDD 99EE 66BB 6677 11FF 44CC 66AA
EE0022 8888 BBDD 7766 00FF 66CC AA99 8888 DD88
EE0033 2277 FF22 BBAA 6688 3300 00FF CCBB 11AA
EE0044 0077 44BB 6699 FFDD BB00 DD66 8899 CC55
EE0055 7744 AA22 11EE 4400 2266 FFEE 55BB 4422
EE0066 FFDD 33EE 77BB 77CC EE55 FFDD BB77 4400
EE0077 7744 FFEE 4455 EE22 99DD FF88 44DD 1199
EE0088 88DD AA77 DDFF 5566 7744 2222 CCAA BB88
EE0099 DD00 FFBB CCEE 0099 11CC 9911 66FF CC99
EE00AA 3366 EECC 66DD 2277 BB11 11DD 55DD 22BB
EE00BB AAEE DD33 4499 0066 44FF DD99 0066 CCAA
EE00CC EEAA 6633 CCCC BB22 CCCC 33AA 6688 DD66
-- lleeWWvv//GGvv..55 rrggnn ooeeLLnn BB ::YYkknn KK:: SS//33 11117722..))
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/19/1992
To: ALL Num: 1683 Date: 2/16/1992
From: MARK WATKINS Re: Time: 2:23 pm
Subj: Pakem.btm 2/3 Prvt: N Read: N
E 03D0 74 EA 41 D6 94 11 FE 67 06 77 E1 95 E0 93 8D 7A
E 03E0 F5 DA 2D 17 6E 1D BF 3A 46 B1 96 C1 BE A6 75 9A
E 03F0 F0 7C EB D0 2E BC 21 B7 36 ED E2 1B 51 7B FF 01
E 0400 9F AC 09 72 E6 0C F8 D8 22 9F 7D 39 85 3C D4 2E
E 0410 3B B7 8E B1 A3 EB A2 C5 02 D6 2F D7 8A 1C DB 06
E 0420 CA 5D E2 CF 02 BB AD 39 9C 2B 38 EB 21 53 54 D2
E 0430 75 0F 5A CB 97 72 CC 43 6E 62 1E 69 52 C3 7C 84
E 0440 09 B5 50 05 33 13 40 D2 DE 75 CC 04 5A B0 9E 09
E 0450 83 CE 50 18 57 25 92 D6 11 26 32 06 FB B6 C1 1E
E 0460 1B A4 89 29 24 88 00 65 50 2B 88 61 4E 05 91 72
E 0470 AE B4 A4 C3 54 96 90 EE 3D C3 EA 10 0F 59 8C 78
E 0480 64 B1 3A EE 84 52 D4 C9 F4 ED 9B D9 72 15 7F DA
E 0490 56 18 49 1C 96 82 6F 61 B3 6B 91 0F C2 35 BC 04
E 04A0 40 77 99 2E 7E 63 26 4F 55 87 06 1D 1F 03 BA FB
E 04B0 04 E9 B4 2A 93 64 82 60 AA 66 70 E6 B5 0A 86 37
E 04C0 3E B7 18 E1 FD 56 E7 1C E4 5D D2 C4 FD 8D 87 21
E 04D0 96 46 B2 7E C9 12 0C 97 A3 04 32 1E 36 C5 15 4A
E 04E0 D1 1A C5 F9 2A 7D B9 AB 77 5D 12 C8 61 7A 5A BD
E 04F0 65 B7 CC 77 96 62 62 6A 33 A5 62 7D EC 7A EE 5A
E 0500 33 A0 51 D6 17 26 85 3D 6A E1 DD E0 4F 10 8C 82
E 0510 20 DD 36 B5 9A 58 DB 35 0A E3 BA 0C 1E 46 91 7B
E 0520 6D 9A 41 52 4F 7B 8B 56 51 DF 71 67 6B 1F 49 21
E 0530 CB 48 4A 8D CF 14 C6 E3 E7 44 20 86 73 0B DE 49
E 0540 CD BC 09 B4 AF 59 2B 9B BD 22 49 C5 7C 57 B3 AA
E 0550 8D 08 91 47 1D C6 79 E0 8E 58 CC 98 88 9D C6 0B
E 0560 CC 52 D2 65 90 90 45 CF AD 3B 46 AD 34 5B 27 7A
E 0570 E7 F1 B8 B8 73 94 D7 DB 5A A0 CD 0E 07 9D D0 94
E 0580 42 17 89 63 B5 4E D7 79 CA 3C 62 9F D1 1E 9E 06
E 0590 1E AF CB 3A E0 19 A8 99 47 68 19 DB 3B 46 6B 74
E 05A0 4D 1C E3 63 2F 02 D9 48 8D CA AB D1 94 19 D3 EC
E 05B0 34 20 21 5C 44 6E 37 1F 6D 39 7E 3F FA 20 60 1F
E 05C0 3E D5 87 98 8C 0D DD 75 CB EC C7 35 82 E0 8F 48
E 05D0 B4 8B 43 A5 F3 0C F4 90 55 46 6C F7 B1 31 EE C3
E 05E0 46 B9 DF 51 5C 5A D3 19 8F B1 55 1B 0A 27 57 E8
E 05F0 2A B4 D6 1E AF F2 B8 63 C9 F4 6A 44 89 D0 54 73
E 0600 1E 98 AA E3 8A 10 6C E6 7A 38 D8 83 A1 C3 6D 91
E 0610 6A 24 85 80 54 33 C9 E5 DC B0 A3 F0 77 71 9F 4A
E 0620 CC 42 DF 31 EE CF 67 2A 53 8F C5 A5 75 90 47 5A
E 0630 AA 61 3C 57 9E 01 D3 DA 70 A9 E1 45 C2 83 1D 23
E 0640 3C 93 0D C2 75 62 B1 5B CC 63 5F 6C 8C E8 9C 6E
E 0650 5E 38 A0 02 F9 45 6F 0A 49 27 F6 E3 65 EC 07 33
E 0660 C6 7E 04 DA A0 4C 0B 81 D0 05 9D A0 8F 19 A9 E2
E 0670 15 19 78 E8 64 AA 48 29 42 70 C2 28 48 29 5F CA
E 0680 B4 0B 27 22 B3 55 25 94 28 D6 AE 04 32 A1 48 60
E 0690 23 30 77 03 F9 A2 7C DC DB F3 A6 23 23 DB 4D F2
E 06A0 B0 41 B4 4B 17 7B E3 14 55 F0 CD 3A 1D 8D 30 45
E 06B0 55 97 88 42 09 7A CE 81 03 34 26 F4 11 4C D8 31
E 06C0 69 18 59 19 85 44 94 9B 31 F2 C3 50 28 9B 50 84
E 06D0 E9 22 4D 25 26 D1 DC 52 4C A1 18 65 30 05 E2 18
E 06E0 4C A1 6B 91 CC 68 E1 93 9C CE 29 8F 79 4E CD 83
E 06F0 C0 1C AF 0E D5 AB 49 E9 9F 5D 5E 00 1D E3 B8 94
E 0700 D9 A5 EB 4D DD 63 5D 14 59 05 57 EB F5 8F A0 92
E 0710 6C DD 31 2A 58 7C A0 31 EB DA 85 79 18 09 72 A3
E 0720 5C 65 35 1B BD AA B1 8A 51 6B 52 CB FD 58 7B 35
E 0730 04 81 31 16 82 41 23 06 6D 6A B9 63 6A 84 68 48
E 0740 3E 08 4C 0F 8A 00 8D 08 AE 32 60 25 0A 82 1E CD
E 0750 42 7E 7D 22 0B 0E 06 D3 5A A5 4B 3D 09 BD 77 14
E 0760 2F CA 68 35 C5 CF 16 6D 18 F9 40 4B F3 14 66 87
E 0770 51 8C A6 43 A7 DE 09 67 7E D5 D4 1E 93 3F E7 D2
E 0780 71 87 9D 32 E6 42 FA 20 E1 C0 45 48 95 5D 52 DA
E 0790 9B D6 9D A3 08 6D AC 42 84 C5 82 C6 2B AC 13 59
E 07A0 E4 0B 06 FB DC 37 48 0A 7F 20 0A CE A6 AC 50 40
E 07B0 17 B3 01 61 C3 D0 80 C1 82 3C 4D 05 5C 74 C2 05
E 07C0 07 45 69 C3 08 EA 02 30 0C D9 37 34 EE A8 2E 09
E 07D0 70 43 9C 07 D7 6D DB 86 E1 24 16 1C 78 8A 19 94
E 07E0 6B 8C B8 C5 51 9A 48 C6 A9 D8 26 58 E8 04 6F C6
E 07F0 DB 44 F0 F2 A2 B6 73 E8 0D 63 A2 D7 60 AF C4 E7
E 0800 1D 31 6D F1 7D 07 F4 4D 97 8E C0 99 EF DC 25 57
E 0810 2E D2 EB A1 57 F1 3E D1 E6 1A F0 65 D2 CB EE 53
E 0820 45 73 31 1B A6 CC 16 35 AD 84 77 CE 9C 32 9C BA
--- Blue Wave/TG v2.05
* Origin: ModemLink BBS =: Yukon, OK := HST/V32 (1:147/24.0)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/19/1992
To: ALL Num: 1684 Date: 2/16/1992
From: MARK WATKINS Re: Time: 2:23 pm
Subj: Pakem.btm 3/3 Prvt: N Read: N
E 0830 CC 99 3A 69 CA D4 39 23 97 8F 72 6C 8A E9 7E 54
E 0840 4E E7 A6 96 28 B7 18 CB AD 2D 54 AE 37 9D 6B 51
E 0850 E6 62 88 A1 AD CF A2 E9 E3 46 6D BE D3 76 7E 92
E 0860 11 99 12 90 E0 AA A0 D1 22 F4 FD 32 CE 75 68 1D
E 0870 20 D6 0D 9F 39 50 4B 01 02 0B 00 0A 00 00 00 06
E 0880 00 12 6F 50 18 AA 97 3A 40 4E 07 00 00 12 15 00
E 0890 00 09 00 00 00 00 00 00 00 01 00 20 00 00 00 00
E 08A0 00 00 00 50 41 4B 45 4D 2E 42 54 4D 50 4B 05 06
E 08B0 00 00 00 00 01 00 01 00 37 00 00 00 75 07 00 00
E 08C0 EE 01 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20
E 08D0 20 20 DA C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4
E 08E0 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4
E 08F0 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4
E 0900 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 BF 0D 0A 20 20
E 0910 20 20 20 20 20 20 20 20 B3 20 43 6F 6D 70 6C 69
E 0920 6D 65 6E 74 73 20 6F 66 2E 2E 2E 20 20 20 20 20
E 0930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
E 0940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
E 0950 20 B3 0D 0A 20 20 20 20 20 20 20 20 20 20 B3 20
E 0960 20 20 D6 20 20 20 20 20 20 20 D6 C4 B7 20 20 20
E 0970 20 20 20 20 20 20 20 20 20 20 20 20 D2 20 20 20
E 0980 D6 C4 B7 20 20 20 20 20 20 20 20 20 D2 20 20 20
E 0990 2E 20 20 20 20 20 20 B3 0D 0A 20 20 20 20 20 20
E 09A0 20 20 20 20 B3 20 20 20 BA 20 D6 C4 B7 20 20 20
E 09B0 BA C4 D2 20 B7 C4 B7 20 20 2D B7 20 B7 C4 B7 20
E 09C0 D6 C4 B6 20 20 20 D6 2F BD 20 D6 C4 B7 20 D2 D2
E 09D0 D2 20 C7 C4 B7 20 D2 20 D6 C4 B7 20 20 B3 0D 0A
E 09E0 20 20 20 20 20 20 20 20 20 20 B3 20 20 20 BD 20
E 09F0 D3 C4 C4 20 20 20 D3 C4 BD 20 D0 20 20 20 D3 2D
E 0A00 D0 20 BD 20 BD 20 D3 C4 D0 20 20 20 D3 C4 BD 20
E 0A10 D3 C4 BD 20 BD 20 BD 20 D3 C4 BD 20 BD 20 D3 C4
E 0A20 C4 20 20 B3 0D 0A 20 20 20 20 20 20 20 20 20 20
E 0A30 B3 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
E 0A40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
E 0A50 20 20 20 20 20 20 2E 5C 5C 61 72 6B 20 5C 5C 27
E 0A60 61 74 6B 69 6E 73 20 20 20 B3 0D 0A 20 20 20 20
E 0A70 20 20 20 20 20 20 C0 C4 C4 C4 C4 C4 C4 C4 C4 C4
E 0A80 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4
E 0A90 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4
E 0AA0 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 D9
RCX
09B0
W
Q
If you have downloaded this script file, remove
any captured communications header and then enter
DEBUG < filename
where filename is the name of this script file.
Yours truly,
.\\ark \\'atkins
... J'suis le Grand Zombie!
--- Blue Wave/TG v2.05
* Origin: ModemLink BBS =: Yukon, OK := HST/V32 (1:147/24.0)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/19/1992
To: JEAN-CHRISTIAN AUCLAIR Num: 1711 Date: 2/11/1992
From: HENK SIMMELINK Re: Time: 7:43 pm
Subj: VIEW/DESCRIBE Prvt: N Read: N
Hello Jean-christian!
In a message to All Jean-christian Auclair writes on 07 Feb 92:
JA> I'd like to SELECT files that I can view (with an external viewer
JA> program) and then DESCRIBE, one by one. Is there a simple way to do
JA> this using the 4DOS btm commands? Thanks. JC.
Try this:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
setlocal
set ttemp=%@unique[%temp]
dir /b>%ttemp
:loop
describe %@select[%ttemp,0,10,24,70, Select file to describe:]
inkey Would you like to describe another one? %%tttemp
iff %@ascii[%tttemp] ne 32 then
quit
del /q %ttemp
else
goto loop
endiff
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Yours sincerely,
Henk Simmelink
--- GEcho/beta
* Origin: Hup hub, hup hub, hup hub, hup hub Albert! (2:283/4.6)
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/20/1992
To: GREG VAIDMAN Num: 11328 Date: 2/09/1992
From: DENNIS MCCUNNEY Re: 0 Time: 6:22 pm
Subj: Multiple commands Prvt: N Read: N
GV│ ║ DM├╢│GV│ why not use a key alias whose first char is a control-k,║
GV│ ║ ├╢│GV│ runs a command which pipes the command history into a fi║
GV│ ║ ║
GV│ ║ DM├╢│ Did it work? I tried a variant on that idea and it didn't work ║
GV│ ║ ├╢│for me. ║
GV│
GV│ yep, try this:
GV│ alias {at}={^k}c:\getline{^x}r
GV│
GV│ and create getline.btm:
Thanks, Greg. I'll give this a shot and see what happens. I didn't
have time to play with it all that much before.
PCRelay:RUNNINGB -> #3 RelayNet (tm)
4.10 Running Board 2126541349/DS/2125191791/HST/
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/20/1992
To: DROR TIROSH Num: 411 Date: 2/18/1992
From: TOM RAWSON Re: Time: 6:54 pm
Subj: Calling convention tn Prvt: N Read: N
DT> I've found it quite irritating that I have to know whether
DT> I call a batch utility or an alias.
DT> I have some small batch programs, which must be called
DT> using 'CALL name' from a batch file. I found out that some
DT> can be shortened and would be usefull as aliases, but that
DT> would mean I have to remove the 'CALL' from all the callers.
Ah but you can CALL an alias. A bit of an accident but it does work.
... Tom
--- EZPoint V2.1
* Origin: Tom's EZPoint (1:130/29.110)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: Y
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/19/1992
To: MAYNARD HOGG Num: 1676 Date: 2/15/1992
From: HUGO LANDSMAN Re: Time: 6:10 pm
Subj: Cursor On/Off Prvt: N Read: N
Hoi Maynard!
Op <10 Feb 1992 21:54> schreef Maynard Hogg (6:730/6) aan Mark Ruys:
MH> Thanks, MARK RUYS and HUGO LANDSMAN. I had to add the UNALIAS because
MH> my alias for SET was getting in the way.
You could insert a * before SET to prevent the alias expansion.
MH> I'm a little leery of the magic number 7, however, since the
Right, Mark too. And I wouldn't like it my batchfiles as well. So, change
this:
MH> setdos|(set %@line[con,7]^set %@line[con,0])
to:
setdos|(set %@line[con,%_co_magic]^set %@line[con,0])
Now, where does _CO_MAGIC come from? You set it in your AUTOEXEC.BAT with
the lines:
call co_magic
set _co_magic=%?
Of course, you'll need the CO_MAGIC.BTM too:
setlocal
set file=%@unique[%temp]
setdos>!%file
setdos/e%@char[1]
set n=0
:Loop
set l=%@line[%file,%n]
if %l==**EOF** goto End
iff %@index[%l,CURSOR OVERSTRIKE]==0 then^set return=%n
elseiff %@index[%l,ESCAPE]==0 then^set %l^setdos/e%escape
endiff
set n=%@eval[%n+1]
goto Loop
:End
del/q %file
quit %return
The escape character would generate a syntax error when read unchanged, so I
had to kludge around it a bit. But it gets restored to the original value
(not %@char[1]) too.
Greetings,
Hugo
--- Msged/Q 1.60
* Origin: The fifth columnist (2:283/406.5)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/20/1992
To: ALL Num: 405 Date: 2/18/1992
From: MARK WATKINS Re: Time: 6:47 pm
Subj: Pakem additions Prvt: N Read: N
If anyone reassembled my pakem.btm from the debug scripts I posted a
couple of days ago, here are some changes you may be interested in...
I added selective file deletion and formatting (of the target disk)
to
the options menu. Replace the original "pick" section with:
:pick
*cls bla on blu bor mag
drawhline 0 0 79 2 blu on blu
drawbox 6 19 14 59 2 bri whi on mag fill bla sha
scrput 8 22 whi on bla [C] Insert next disk and Continue
scrput 9 22 whi on bla [D] Directory of target disk
scrput 10 22 whi on bla [S] Select files to delete (target)
scrput 11 22 red on bla [ ] Format target
scrput 11 23 bri yel on bla !
scrput 12 22 whi on bla [Q] Quit
scrput 17 33 bri whi on blu Enter choice:
inkey /k"qcds!" %%pick
if "%pick" == "q" (
cls bor bla
scrput 0 0 bri whi on red Aborted at user request.
screen 1 0 Files not processed:
screen 3 0
iff %@filesize[%temp%pakem2.tmp,b] LE %@filesize[%temp%pakem1.tmp,b] then
gosub sub1
type %temp%pakem2.tmp /p
else
gosub sub2
type %temp%pakem1.tmp /p
endiff
goto end
)
if "%pick" == "c" goto Loop
if "%pick" == "d" (
cls bor blu
*dir/2vp %target
echo.
pause Press any key to return to Pakem...
goto pick
)
if "%pick" == "s" (
cls bor blu
select *del (%target%*.*)
goto pick
)
if "%pick" == "!" (
cls bor blu
call format %target <-- "call" is used because I use PCTools
pcformat.exe, which is called from
format.bat. You may wish to change it.
goto pick
)
After I posted the file I discovered a bug that attempted to operate
on files in subdirectories in the CWD if there were no parameters on the
command line, or if "*.*" was used as the parameter (I only tested pakem on
directories with no subs - shame on me!). Here's the fix:
Change the line
if not exist %temp%pakem1.tmp *dir /b /o:sr %& > %temp%pakem1.tmp
to
if not exist %temp%pakem1.tmp *dir /b /a:-d /o:sr %& > %temp%pakem1.tmp
Finally, you may wish to add the line "alias cls whi on bla" after
setlocal. This will be reset to its normal value after completion of the
batch,
and will allow the screen clearing commands in the batch to work properly.
Enjoy,
.\\ark \\'atkins
... J'suis le Grand Zombie!
--- Blue Wave/TG v2.05
* Origin: ModemLink BBS =: Yukon, OK := HST/V32 (1:147/24.0)
)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: Y
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/19/1992
To: JEAN-CHRISTIAN AUCLAIR Num: 1711 Date: 2/11/1992
From: HENK SIMMELINK Re: Time: 7:43 pm
Subj: VIEW/DESCRIBE Prvt: N Read: N
Hello Jean-christian!
In a message to All Jean-christian Auclair writes on 07 Feb 92:
JA> I'd like to SELECT files that I can view (with an external viewer
JA> program) and then DESCRIBE, one by one. Is there a simple way to do
JA> this using the 4DOS btm commands? Thanks. JC.
Try this:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
setlocal
set ttemp=%@unique[%temp]
dir /b>%ttemp
:loop
describe %@select[%ttemp,0,10,24,70, Select file to describe:]
inkey Would you like to describe another one? %%tttemp
iff %@ascii[%tttemp] ne 32 then
quit
del /q %ttemp
else
goto loop
endiff
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Yours sincerely,
Henk Simmelink
--- GEcho/beta
* Origin: Hup hub, hup hub, hup hub, hup hub Albert! (2:283/4.6)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/22/1992
To: HEINZ SONNENWALD Num: 494 Date: 2/19/1992
From: MAYNARD HOGG Re: Time: 12:29 pm
Subj: Double Commands In Hn Prvt: N Read: N
In a msg of <15 Feb 92>, Maynard Hogg writes to Heinz Sonnenwald:
>> history |tolower |sort |uniq >%tmpfile
------- ----
HS>I think these are external programs. But I need help with
>4dos commands. I haven't these programs.
Tolower is optional. If you never use upper case command lines, that
part of the pipe is redundant.
Uniq is the UNIX program for eliminating duplicate lines. (Some SORT
implementations have it built in.) Without it, you are reduced to
manually editing the temporary file.
Here's a DEBUG script for making TOLOWER.COM.
(Note: Jean Hart has ruled that discussion of methods for making such
scripts off topic, so don't ask me how I did it.)
NTOLOWER.COM
E 100 E9 97 00 08 08 08 40 28 23 29 54 4F 4C 4F 57 45
E 110 52 20 20 3D 20 53 68 69 66 74 73 20 6F 75 74 70
E 120 75 74 20 74 6F 20 6C 6F 77 65 72 20 63 61 73 65
E 130 20 4D 61 79 6E 61 72 64 20 48 6F 67 67 20 28 32
E 140 2F 36 2F 31 39 38 39 29 0D 0A 09 55 73 61 67 65
E 150 3A 20 54 4F 4C 4F 57 45 52 20 20 3C 69 6E 66 69
E 160 6C 65 20 3E 6F 75 74 66 69 6C 65 0D 0A 52 65 74
E 170 75 72 6E 73 20 45 52 52 4F 52 4C 45 56 45 4C 20
E 180 3C 3E 30 20 69 66 20 73 6F 6D 65 74 68 69 6E 67
E 190 20 77 72 6F 6E 67 0D 0A 24 1A BC E5 12 0E 07 BB
E 1A0 E5 12 83 C3 0F B1 04 D3 EB B4 4A CD 21 BA E5 01
E 1B0 B9 00 10 BB 00 00 B4 3F CD 21 72 25 8B C8 E3 21
E 1C0 51 BE E5 01 8B FE AC 3C 41 72 06 3C 5A 77 02 04
E 1D0 20 AA E2 F2 59 BA E5 01 BB 01 00 B4 40 CD 21 73
E 1E0 CC B4 4C CD 21
RCX
E5
W
Q
;DEBUG script to make TOLOWER.COM
;Usage: debug <tolower.scr
(Note: Jean Hart has ruled that discussion of methods for making such
scripts off topic, so don't ask me how I did it.)
---
* Origin: IMS-NET #1 Tokyo,Japan (6:730/6)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/22/1992
To: PETER WADSWORTH Num: 464 Date: 2/15/1992
From: MIKE ARST Re: Time: 9:44 pm
Subj: Speaking of... Prvt: N Read: N
Speaking of 4DOS and FGREP, I tried out something that turned out
to work pretty well:
:: the following two lines should be on a SINGLE line
fgrep -sx MENS_ISSUES G:\btmtemp\temptemp |
echo %@eval[%@lines[con]+1] | input %%nbr
The idea was, run FGREP on a temp file made by extracting a .PKT
file, then search for a specific area-tag name with FGREP. Ok,
that prints the lines containing the string. Now, how many lines
were there? Pipe the result to the LINES function, using "con" as
the "file name." I didn't know if it would work - but it worked!
< One alternative would have been to pipe to SED, thus:
| sed -n $= | input %%nbr
... but it was somewhat slow that way.>
Back to the method actually used: Then use EVAL to add 1 to the
result, because the 4DOS-style result is zero-based - I want to
know the REAL number of lines. Finally, pipe the output to the NBR
variable via INPUT. The variable now contains only the number of
lines containing the string. A "count number of lines containing
target string" function is not in the feature set of the version
of FGREP that I have here. Then:
iff %nbr% == 0 then
(and so on)
Since I wrote that I got a faster computer, making McCormick's
GREP (rather slow) more palatable. It DOES have a "number of
occurrences" [number of lines] function:
grep -c MENS_ISSUES G:\btmtemp\temptemp | input %%nbr
But when I was using only the slower computer, that ability to
use LINES and "con" was a real plus. <<Another small cheer for
4DOS' variable functions.>>
--- ME2
* Origin: SeaSoft (206.637-2398) (Fidonet 1:343/8.9)
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/23/1992
To: PAUL CONANT Num: 11527 Date: 2/21/1992
From: DAVID KUNZ Re: 0 Time: 3:51 pm
Subj: GREAT SERVICE Prvt: N Read: N
PC║ Place my order for 4DOS 4.0 on Tuesday and it arrived on Thursday.
PC║ Couldn't ask for speedier service. Any body got any great ALIASes
PC║ to try out?
Here're a few to play with (note that <at> is the "at" symbol; i.e,
"a" with a circle around it, shift 2):
List your aliases
??=alias|list/s
directory of directories
DDIR=dir /a:d
Select files to pass to command from select
DO=select %1 (*.*) %2&
Select files to zip from select
DOZIP=iff "%1"=="" then echo Usage: DOZIP ZIPNAME^else if exist $temp$$$.tmp
del $temp$$$.tmp^select dir/f/b (*.*) >>$temp$$$.tmp^pkzip -am %1
<at>$temp$$$.tmp^ del $temp$$$.tmp^endiff
Edit and reload your aliases
EDALIAS=ed d:\alias.dat^alias /r d:\alias.dat
Show dir in list
LDIR=dir %1&|list/s
Make and change to a directory
MCD=md %1^cd %1
"Zap" all files in every directory that match %1 (use with caution!)
ZAP=pushd \^global /iq if exist %1 for %%FF in (%1) del %%FF^popd
Have Fun!
David Kunz
---
■ MegaMail 2.10 #0·I support *MERIT PAY* for Politicians.
PCRelay:WTHREEJP -> #75 RelayNet (tm)
PCRelay:DCINFO -> #16 MetroLink (tm) International Network
4.10 DC Info Exchange MetroLink International Hub
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/23/1992
To: BOB JONES Num: 506 Date: 2/18/1992
From: PERTTI HEIKKINEN Re: Time: 5:25 pm
Subj: File Description Prvt: N Read: N
> Is there any way to attach the file
> description that appears on a BBS
> Download Directory to the File being
> downloaded AT THE TIME IT IS DOWNLOADED?
After the user logged out, there is. I don't know how to do it before
(except if you want to risk hanging your system with a spawned btm while a
caller is in, it is |B=).
The template would be something like:
pushd d:\download
setlocal
set li=0
:loop
set st=%@line[files.bbs,%li]
if "%st"=="**EOF**" goto done
if exist %@word[%st,0] describe %@word[%st,0] "%@substr[%s,13,80]"
REM change the '13' above to fit your format
set li=%@eval[1+%li]
goto loop
:done
endlocal
popd
You may have to use some more %@substr[]'s to sophisticate this, but for a
reference... ;-)
PjH 8-)
--- OPMED 3.00
* Origin: The Yellow Cab (2:220/851)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/24/1992
To: ALL Num: 539 Date: 2/21/1992
From: SAUL LEVY Re: Time: 2:20 pm
Subj: HISTCOMP.BAS Prvt: N Read: N
All,
Since there is so much interest in saving the history buffer's
commands for reloading I've written a version in QuickBASIC which
is at the end of this message. You'll have to find someone with
a copy of QB 4.0 or later who knows how to use it! Be sure to
read the REMarks at the beginning of the program listing. Note
the limitation that only up to 500 unique history commands can be
saved (extras will be ignored!).
This version uses no sorting, so all commands remain in the same
order as you entered them (capitalization is also maintained and
may show up as duplicated commands). Otherwise, only unique
commands are saved in HIST.TXT which should be reloaded every
time you need it. Redirection is also maintained without
creating 0 byte files!
This program is a bit slow. Shelling out to save the history
takes some time, and the longer your history is, the longer it
will take to find the unique commands and discard the duplicates.
I could supply a faster, file-reading version using the BASIC
Wizard library, but most of you won't have it. If this is a
problem, send me a diskette for a copy!
Saul
REM Program HISTCOMP.BAS, a history compression program for 4DOS
REM Written by Saul G. Levy, Tucson, Arizona, February 10-11, 1992
REM Last changed February 20, 1992
REM Save the unique 4DOS history commands from a temporary file (HIST.$$$) to
REM HIST.TXT for reloading later on. Compile with QuickBASIC 4.x with the
/AH
REM switch to be sure enough memory is set aside for the TEXT$ array
REM Put the following two commands (within the quote marks) into your
REM AUTOEXEC.BAT file to replace the current history file with the unique
REM history commands in the NEW HIST.TXT file:
REM "HISTORY /F" [Note: You must delete the old history first]
REM "HISTORY /R HIST.TXT" [or it will be ADDED instead of being
replaced!]
REM Then run HISTCOMP.BAS whenever you wish to save the current history file
REM (before turning off your computer!)
REM Note no sorting of the history commands is done so the original order is
REM maintained along with all of the redirection commands
DIM TEXT$(500): REM Holds up to 500 unique history commands, if changed
be
REM sure to change all SEVEN references to the number
500!
REM Program name
CLS
PRINT "HISTCOMP.BAS, save unique history commands in HIST.TXT"
PRINT
PRINT "Working..."
REM Create temporary input file of current history commands
SHELL "HISTORY >HIST.$$$"
REM Open files
OPEN "I", 1, "HIST.$$$"
OPEN "O", 2, "HIST.TXT"
TEXT$ = "": REM Current history command read from input file
N = 0: REM Number of unique history commands
Again:
LINE INPUT #1, TEXT$: REM Read a history command
IF EOF(1) THEN GOTO Finish: REM End-Of-File mark?
IF LEN(TEXT$) = 0 THEN GOTO Again: REM Anything there?
IF N = 0 THEN GOTO Store: REM Store new history command in array
Check:
FOR I = 1 TO N: REM Find any previous occurances of this history command
IF TEXT$ = TEXT$(I) THEN GOTO Again
NEXT I
Store:
N = N + 1: REM Found a new history command, store it
IF N > 500 THEN N = 500: GOTO Oops
TEXT$(N) = TEXT$
GOTO Again: REM Read next history command
Oops:
PRINT "The history file contains too many unique commands!"
PRINT "Saving the first 500 unique history commands..."
Finish:
FOR I = 1 TO N: REM Save up to 500 unique history commands in output file
PRINT #2, TEXT$(I)
NEXT I
PRINT "There were"; N; "unique history commands"
CLOSE : REM Close files
KILL "HIST.$$$": REM Delete temporary input file
PRINT "Finished normally": REM Let user know everything is O.K.
END
---
* Origin: Old Pueblo BBS - Tucson Computer Society (1:300/2)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/25/1992
To: DAVID POWERS Num: 550 Date: 2/22/1992
From: DAYTON LIVINGSTON Re: Time: 6:52 pm
Subj: Zdir Prvt: N Read: N
DP> cls
DP> setlocal
DP> unalias dir
DP> dir/ku %& >&>nul |set _lin=%@substr["%@line[con,0]",23,9]
DP> iff %@index["%_files", ] == -1 then
>>>>>>>>>>>>>>>>>>> ^^^^^^ Should be "%_LIN"
DP> echo There are a million or more files in this directory.
DP> echo Time for a new subdirectory. Quitting.
DP> quit
DP> endiff
DP> set _files=%@eval[%@substr["%_files",1,%@index["%_files", ]]]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ^^^^^^^ ^^^^^^^
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Should be "%_LIN"
DP> iff %_files LE 17 then
DP> dir %&
DP> elseiff %_files LE 34 then
DP> dir /2v %&
DP> elseiff %_files LE 68 then
DP> dir /4v %&
DP> else dir /wvp %&
DP> endiff
DP>Thanks for the idea! A simpler version of the above, but a little
DP>slower, would be to do all the @functions as one line,
DP> dir %& |set _files=%@lines[con]
DP>The numbers above would want to be increased (17 to 23 or so, that kind
DP>of thing), though. ttyl.
Great idea, and your version is MUCH faster. Just the above noted
corrections for anyone who didn't figure it out for themselves.
--- D'Bridge 1.30/071141
* Origin: Animal Pharm BBS, Holbrook AZ. 602-524-2032 HST DS (1:304/100)
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/26/1992
To: PAUL CONANT Num: 11580 Date: 2/23/1992
From: JAY HANNA Re: 0 Time: 6:42 pm
Subj: GREAT SERVICE Prvt: N Read: N
PC>Place my order for 4DOS 4.0 on Tuesday and it arrived on Thursday.
PC>Couldn't ask for speedier service.
I suppose it's a good idea to wait for three months after the realease, and
be fortunate enough to live across the street <g>
Here's a couple of handy aliases I use:
a=c:\4dos\4help -ascii- This calls the 4dos ascii chart
al=cd\4dos^alias /r alias.lst This will re-read your alias.lst
ff=echo f > prn^cls This will send a form-feed to your printer
uz=pkunzip -d-$ %1 %2 %3 Unzips with options I need.
zip=pkzip %1 %2 %3 %4 Zips & leaves room for lots of options.
⌠
⌡Æy
---
■ SLMR 2.1 ■ Nothing is so smiple that it can't get screwed up.
PCRelay:ZED -> #200 RelayNet (tm)
------------------------------------------------------------------------
Echo Flag : Permanent: N Export: N Personal Read: N
BBS: ESCMAIL Conference: 4DOS(echo) Imported: 2/27/1992
To: PERTTI HEIKKINEN Num: 576 Date: 2/23/1992
From: TED HARPER Re: Time: 12:09 pm
Subj: File Description Prvt: N Read: N
>> Is there any way to attach the file description that appears on a BBS
>> Download Directory to the File being downloaded...
I tinkered with your code, and found that if the description of a file in
files.bbs includes a ">", then the following word will be created as a file,
and the words before and after the ">" in the files.bbs will together become
the description. In other words :-
TS2RAE10.ARJ [00] Tosscan --> Ra-Echo Converter 1.0 (by U. Bartelt)
is processed to produce the description :-
ts2rae10.arj 5393 11-02-92 12:42 Tosscan -- Converter 1.0 (by U.
Bartelt)
and creates (as a side-effect) a zero-length file called RA-ECHO in the same
directory. This is odd, as I am enclosing the argument to "describe" in
quotes, and thought that redirection would be turned off inside there <sigh>.
Thanks for the neat code too (BTW, the syntax for %@word is %@word[0,%st%]
rather than the other way round - at least in the southern hemisphere<grin>).
FWIW, here is the (very slightly) altered code :-
pushd %1
setlocal
set li=0
:loop
set st=%@line[files.bbs,%li%]
if "%st%"=="**EOF**" goto done
iff exist %@word[0,%st%] then
rem alter the "18" below to suit your FILES.BBS format
describe %@word[0,%st%] "%@substr[%st%,18]"
endiff
set li=%@eval[1+%li%]
goto loop
:done
endlocal
popd
ted.h.
---
* Origin: Ted's Skiing Substitute, Sydney Australia (3:712/211.4)
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/28/1992
To: ALL Num: 11596 Date: 2/25/1992
From: MARK WATKINS Re: 0 Time: 6:01 am
Subj: PAKEM.BTM 1/2 Prvt: N Read: N
Here's a batchfile I wrote that attempts to fill a floppy to its
maximum capacity. I am posting it to get your feedback as to how well
you feel it does or doesn't work, and how you think it could be made to
work better or more efficiently. I've attempted to write it in such a
way as to work on any system running 4DOS 4.0 or higher. One thing the
user would have to do is edit the formatting routine if their system
differed from one having a 1.2M A:drive and a 1.44M B:drive, otherwise
I think it should work just about anywhere.
Thanks,
.\\ark
:::::::::::::::::::::::::::::::: Pakem.btm :::::::::::::::::::::::::::
:
: Requires: 4DOS 4.xx. Color monitor preferred.
: Syntax:
: Pakem [?] [*.ext];[file];[file]...
: Select pakem [filespec] - Must use square brackets so all
: files will be processed at one time.
: Files will be processed in order of
: selection rather than by size.
:
: This batchfile will copy or move the specified files to drive
: A: or B:. It will start with the largest file in the current
: directory that will fit on the floppy and proceed in descending
: order until all files are processed or the user aborts.
: Directories pointed to by the TMP or TEMP environmental vari-
: ables are used to build the temporary files containing the lists
: of files being processed.
:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
swapping off
setlocal
if "%temp" == "" set temp=%_cwds
set tmp=%temp
set List_1=%temp%pakem1.tmp
set List_2=%temp%pakem2.tmp
alias cls *cls whi on bla
alias Process_Files `%action %file %target`
cls
if "%1" == "?" goto help
:---------------------------------------------------------------------
drawhline 0 0 79 2 bla on bla
drawbox 8 26 12 52 2 gre on bla fill bla
scrput 10 28 whi on bla [C]opy or [M]ove files?
scrput 15 33 whi on bla Enter choice:
inkey /k"cm" %%action
if "%action" == "c" set action=copy/r
if "%action" == "m" set action=move/r
:---------------------------------------------------------------------
cls
drawhline 0 0 79 2 bla on bla
drawbox 8 26 12 52 2 blu on bla fill bla
scrput 9 30 whi on bla Enter target drive:
scrput 11 36 whi on bla A or B
scrput 15 33 whi on bla Enter choice:
inkey /k"ab" %%target
if "%target" == "a" set target=a:
if "%target" == "b" set target=b:
:---------------------------------------------------------------------
:pick
*cls bla on blu bor mag
drawhline 0 0 79 2 blu on blu
drawbox 6 19 14 59 2 bri whi on mag fill bla sha
scrput 8 22 whi on bla [C] Insert [next] disk and Continue
scrput 9 22 whi on bla [D] Directory of target disk
scrput 10 22 whi on bla [S] Select files to delete (target)
scrput 11 22 red on bla [ ] Format target
scrput 11 23 bri yel on bla !
scrput 12 22 whi on bla [Q] Quit
scrput 17 33 bri whi on blu Enter choice:
inkey /k"qcds!" %%pick
if "%pick" == "q" (
cls bor bla
scrput 0 0 bri whi on red .Aborted at user request.
if exist %List_2 (
<<MESSAGE TOO LONG -- SOME LINES WERE DELETED>>
PCRelay:DCINFO -> #16 MetroLink (tm) International Network
4.10 DC Info Exchange MetroLink International Hub
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/28/1992
To: ALL Num: 11597 Date: 2/25/1992
From: MARK WATKINS Re: 0 Time: 6:05 am
Subj: PAKEM.BTM 2/2 Prvt: N Read: N
H
:---------------------------------------------------------------------
:Loop
cls bor blu
if exist %List_2 move/q %List_2 %List_1
if not exist %List_1 *dir /b /a:-d-h-s /o:sr %& > %temp%pakem1.tmp
For %%file in (@%List_1) do (
iff %@filesize[%file,b] LT %@diskfree[%target,b] then
Process_Files
else
(
echo Skipping file - %file
echo %file >> %temp%pakem2.tmp
)
endiff
)
Iff exist %List_2 then
goto pick
else
(
cls bor bla
scrput 0 0 bla on gre .All files successfully processed.
goto end
)
endiff
:---------------------------------------------------------------------
:Format
drawhline 0 0 79 2 bla on bla
drawbox 7 26 14 52 2 bri whi on red fill bla
scrput 9 30 whi on bla Format target at:
scrput 11 30 whi on bla [H] High density
scrput 12 30 whi on bla [D] Double density
scrput 16 33 whi on bla Enter choice:
inkey /k"hd" %%format
cls bor blu
Iff "%format" == "d" then (
if "%target" == "a:" call format a: /4
if "%target" == "b:" call format b: /n:9 /t:80
)
else
(
call format %target
)
endiff
return
:---------------------------------------------------------------------
:sub1
if %@lines[%List_2] GT 14 (
pause Press a key for a list of files not processed...
)
return
:---------------------------------------------------------------------
:Help
cls
text
Syntax: Pakem [?] [file1];[file2]...etc.
Pakem ? produces this screen.
Pakem by itself operates on all files in current directory.
Pakem [file1];[file2]...etc. operates on specified files in the curren
drive and directory, ie:
Pakem *.zip;*.arj;*.lha
Pakem program.txt;p*.doc;*.lst
Select pakem [filespec] - Must use square brackets so all
files will be processed at one time.
Files will be processed in order of
selection rather than by size. Total
of files selected must not exceed 127
characters on the command line.
endtext
:---------------------------------------------------------------------
:end
<<MESSAGE TOO LONG -- SOME LINES WERE DELETED>>
PCRelay:DCINFO -> #16 MetroLink (tm) International Network
4.10 DC Info Exchange MetroLink International Hub
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 3/01/1992
To: YOU Num: 11645 Date: 2/28/1992
From: GREG VAIDMAN Re: 0 Time: 12:09 pm
Subj: can 4dos handle big path? Prvt: N Read: N
╓────────┤ on 02-21-92 (19:03), marshall mccombie said to doug park ├────────╖
║ SET oldpath=%PATH ║
║ PATH=< directory you wish was in the path >;%oldpath ║
║ ... ║
║ ... <--- Run your program here ║
║ ... ║
║ SET PATH=%oldpath ║
╙────────┤ and greg vaidman replied on wed, 02-26-1992 at 00:33... ├─────────╜
you could just use a setlocal to save the entire environment
without having to save a copy of the path. for example:
╓──
║ @echo off
║ setlocal
║ path=c:\dumb\program\needs\to\be\in\path;%path
║ runme
╙──
this batch will restore the path to its "pre-batch" state when
it finishes. uses less environment space by not having two
copies of the path in the environment at once.
OΓεO Vαîδµα∩
⌡ ⌡
---
■ OLX 2.1 ■ James Brown: "I've Fallen And I Can't Get Down"
PCRelay:DATABASE -> #1251 RelayNet (tm)
PCRelay:DCINFO -> #16 MetroLink (tm) International Network
4.10 DC Info Exchange MetroLink International Hub
To: ALL Message #: 7992 Thread> 9718
From: Yousuf Khan Submitted: 27 Feb 92 16:40:00
Subject: Disabling Kstack.com Status: Public
Received: No Group: 4DOS (89)
This solution has been staring me in the face. If the performance
drop when Kstack is loaded under Desqview is driving you nuts, and
you have one of the TSRCOM packages available (ie. Mapmem, Mark,
Release, Watch, etc.), then try these aliases:
kstack='iff %_dv eq 1 then^watch>nul^*kstack /i %&^disable kstack
>nul^else^*kstack %&^endiff'
keystack='iff %_dv eq 1 then^disable kstack /a >nul^*keystack %&^
disable kstack >nul^else^*keystack^endiff'
They just detect for DV and if you're running under it, these
aliases then turn off Kstack.com so that it doesn't take hook into
Int 16h (the timer interrupt), until needed.
Note, I haven't really tested it, I just wrote it up on the spot.
I'm sure you can find modifications to these aliases to fit your
situation better, or if there's a bug in them.
Yousuf Khan
--- ME & ME2
* Origin: On the path to Ottawa (1:163/215.6)
=-=-=-=-=
To: Yousuf Khan Message #: 9718 7992 <Thread
From: Yousuf Khan Submitted: 27 Feb 92 19:57:00
Subject: Disabling Kstack.com Status: Public
Received: No Group: 4DOS (89)
In a message of 27-Feb-92, Yousuf Khan of <1:163/215.6> wrote:
YK> keystack='iff %_dv eq 1 then^disable kstack /a >nul^*keystack %&^
YK> disable kstack >nul^else^*keystack^endiff'
Sorry folks, it seems that if you disable kstack immediately after
sending characters to it, it will not send out the characters you
sent to it. So you cannot disable the Kstack.com immediately after
sending characters to it. You could however disable Kstack much
later.
keystack='iff %_dv eq 1 then^disable kstack /a>nul^*keystack %&^
else^*keystack %&^endiff
then later,
dkstack='iff %_dv eq 1 then^disable kstack>nul^endiff'
However, after having tried these aliases, disabling Kstack
doesn't seem to have noticeably improved the performance under DV,
sorry. The suggestion that Kstack.com be reprogrammed to unhook
Int 1ch when timing is not in use, doesn't seem like it would
work. A special DV function call may have to be used.
Yousuf Khan
--- ME & ME2
* Origin: On the path to Ottawa (1:163/215.6)
=-=-=-=-=
To: Pertti Heikkinen Message #: 3879 1506 <Thread
From: Ted Harper Submitted: 23 Feb 92 12:09:00
Subject: File Description Status: Public
Received: No Group: 4DOS (89)
MSGID: 3:712/211.4@fidonet 1b0b7c01
PID: FM 2.02
>> Is there any way to attach the file description that appears on a BBS
>> Download Directory to the File being downloaded...
I tinkered with your code, and found that if the description of a
file in files.bbs includes a ">", then the following word will be
created as a file, and the words before and after the ">" in the
files.bbs will together become the description. In other words :-
TS2RAE10.ARJ [00] Tosscan --> Ra-Echo Converter 1.0 (by U. Bartelt)
is processed to produce the description :-
ts2rae10.arj 5393 11-02-92 12:42 Tosscan -- Converter 1.0 (by U. Bartelt)
and creates (as a side-effect) a zero-length file called RA-ECHO
in the same directory. This is odd, as I am enclosing the
argument to "describe" in quotes, and thought that redirection
would be turned off inside there <sigh>.
Thanks for the neat code too (BTW, the syntax for %@word is
%@word[0,%st%] rather than the other way round - at least in the
southern hemisphere<grin>).
FWIW, here is the (very slightly) altered code :-
pushd %1
setlocal
set li=0
:loop
set st=%@line[files.bbs,%li%]
if "%st%"=="**EOF**" goto done
iff exist %@word[0,%st%] then
rem alter the "18" below to suit your FILES.BBS format
describe %@word[0,%st%] "%@substr[%st%,18]"
endiff
set li=%@eval[1+%li%]
goto loop
:done
endlocal
popd
ted.h.
---
* Origin: Ted's Skiing Substitute, Sydney Australia (3:712/211.4)
=-=-=-=-=
To: All Message #: 2326
From: Saul Levy Submitted: 21 Feb 92 14:20:00
Subject: HISTCOMP.BAS Status: Public
Received: No Group: 4DOS (89)
PID: QE 2.75 b14 & RA 1.11 79122
MSGID: 1:300/2 4f43a832
All,
Since there is so much interest in saving the history buffer's
commands for reloading I've written a version in QuickBASIC which
is at the end of this message. You'll have to find someone with
a copy of QB 4.0 or later who knows how to use it! Be sure to
read the REMarks at the beginning of the program listing. Note
the limitation that only up to 500 unique history commands can be
saved (extras will be ignored!).
This version uses no sorting, so all commands remain in the same
order as you entered them (capitalization is also maintained and
may show up as duplicated commands). Otherwise, only unique
commands are saved in HIST.TXT which should be reloaded every
time you need it. Redirection is also maintained without
creating 0 byte files!
This program is a bit slow. Shelling out to save the history
takes some time, and the longer your history is, the longer it
will take to find the unique commands and discard the duplicates.
I could supply a faster, file-reading version using the BASIC
Wizard library, but most of you won't have it. If this is a
problem, send me a diskette for a copy!
Saul
REM Program HISTCOMP.BAS, a history compression program for 4DOS
REM Written by Saul G. Levy, Tucson, Arizona, February 10-11, 1992
REM Last changed February 20, 1992
REM Save the unique 4DOS history commands from a temporary file (HIST.$$$) to
REM HIST.TXT for reloading later on. Compile with QuickBASIC 4.x with the /AH
REM switch to be sure enough memory is set aside for the TEXT$ array
REM Put the following two commands (within the quote marks) into your
REM AUTOEXEC.BAT file to replace the current history file with the unique
REM history commands in the NEW HIST.TXT file:
REM "HISTORY /F" [Note: You must delete the old history first]
REM "HISTORY /R HIST.TXT" [or it will be ADDED instead of being replaced!]
REM Then run HISTCOMP.BAS whenever you wish to save the current history file
REM (before turning off your computer!)
REM Note no sorting of the history commands is done so the original order is
REM maintained along with all of the redirection commands
DIM TEXT$(500): REM Holds up to 500 unique history commands, if changed be
REM sure to change all SEVEN references to the number 500!
REM Program name
CLS
PRINT "HISTCOMP.BAS, save unique history commands in HIST.TXT"
PRINT
PRINT "Working..."
REM Create temporary input file of current history commands
SHELL "HISTORY >HIST.$$$"
REM Open files
OPEN "I", 1, "HIST.$$$"
OPEN "O", 2, "HIST.TXT"
TEXT$ = "": REM Current history command read from input file
N = 0: REM Number of unique history commands
Again:
LINE INPUT #1, TEXT$: REM Read a history command
IF EOF(1) THEN GOTO Finish: REM End-Of-File mark?
IF LEN(TEXT$) = 0 THEN GOTO Again: REM Anything there?
IF N = 0 THEN GOTO Store: REM Store new history command in array
Check:
FOR I = 1 TO N: REM Find any previous occurances of this history command
IF TEXT$ = TEXT$(I) THEN GOTO Again
NEXT I
Store:
N = N + 1: REM Found a new history command, store it
IF N > 500 THEN N = 500: GOTO Oops
TEXT$(N) = TEXT$
GOTO Again: REM Read next history command
Oops:
PRINT "The history file contains too many unique commands!"
PRINT "Saving the first 500 unique history commands..."
Finish:
FOR I = 1 TO N: REM Save up to 500 unique history commands in output file
PRINT #2, TEXT$(I)
NEXT I
PRINT "There were"; N; "unique history commands"
CLOSE : REM Close files
KILL "HIST.$$$": REM Delete temporary input file
PRINT "Finished normally": REM Let user know everything is O.K.
END
---
* Origin: Old Pueblo BBS - Tucson Computer Society (1:300/2)
=-=-=-=-=
To: All Message #: 787
From: Mark Watkins Submitted: 18 Feb 92 18:47:00
Subject: Pakem additions Status: Public
Received: No Group: 4DOS (89)
MSGID: 1:147/24 29a1ac1d
PID: TeleMail 1.51
If anyone reassembled my pakem.btm from the debug scripts I posted a
couple of days ago, here are some changes you may be interested in...
I added selective file deletion and formatting (of the target disk) to
the options menu. Replace the original "pick" section with:
:pick
*cls bla on blu bor mag
drawhline 0 0 79 2 blu on blu
drawbox 6 19 14 59 2 bri whi on mag fill bla sha
scrput 8 22 whi on bla [C] Insert next disk and Continue
scrput 9 22 whi on bla [D] Directory of target disk
scrput 10 22 whi on bla [S] Select files to delete (target)
scrput 11 22 red on bla [ ] Format target
scrput 11 23 bri yel on bla !
scrput 12 22 whi on bla [Q] Quit
scrput 17 33 bri whi on blu Enter choice:
inkey /k"qcds!" %%pick
if "%pick" == "q" (
cls bor bla
scrput 0 0 bri whi on red Aborted at user request.
screen 1 0 Files not processed:
screen 3 0
iff %@filesize[%temp%pakem2.tmp,b] LE %@filesize[%temp%pakem1.tmp,b] then
gosub sub1
type %temp%pakem2.tmp /p
else
gosub sub2
type %temp%pakem1.tmp /p
endiff
goto end
)
if "%pick" == "c" goto Loop
if "%pick" == "d" (
cls bor blu
*dir/2vp %target
echo.
pause Press any key to return to Pakem...
goto pick
)
if "%pick" == "s" (
cls bor blu
select *del (%target%*.*)
goto pick
)
if "%pick" == "!" (
cls bor blu
call format %target <-- "call" is used because I use PCTools
pcformat.exe, which is called from
format.bat. You may wish to change it.
goto pick
)
After I posted the file I discovered a bug that attempted to operate
on files in subdirectories in the CWD if there were no parameters on the
command line, or if "*.*" was used as the parameter (I only tested pakem on
directories with no subs - shame on me!). Here's the fix:
Change the line
if not exist %temp%pakem1.tmp *dir /b /o:sr %& > %temp%pakem1.tmp
to
if not exist %temp%pakem1.tmp *dir /b /a:-d /o:sr %& > %temp%pakem1.tmp
Finally, you may wish to add the line "alias cls whi on bla" after
setlocal. This will be reset to its normal value after completion of the batch,
and will allow the screen clearing commands in the batch to work properly.
Enjoy,
.\\ark \\'atkins
... J'suis le Grand Zombie!
--- Blue Wave/TG v2.05
* Origin: ModemLink BBS =: Yukon, OK := HST/V32 (1:147/24.0)
=-=-=-=-=
To: Emacs Lovers Message #: 8116
From: Maynard Hogg Submitted: 27 Feb 92 10:44:00
Subject: Using ^P In Command Lines Status: Public
Received: No Group: 4DOS (89)
MSGID: 6:730/6 1d8bf894
To the person who was interested in configuring 4DOS so that ^P at the
command line means Previous (or whatever it means in EMACS) instead of
toggling the printer on and off, here's the assembly code for
disabling the special meaning of ^P. Note, however, that it disables
^C (break) and ^S (pause) as well.
***
Conference: C_ECHO
Date: 2/17/1992
From: MIKE HAYS
Subj: disabling Ctrl-Break
Origin: Programmer's Haven! (1:363/88)
Well, a cute little assembly routine will filter out CTRL-C, S, and P:
mov ax, 4401h ; DOS function 44h, item 01: set device info
xor dh, dh ; dh must be 0 for this function call
or dl, 20h ; set bit 5--process binary data
int 21h ; call DOS with data in dx
This function remains, even after your program is finished, so to
allow CTRL-C again, remember to clear bit 5, ie, replace "or dl, 20h"
with "and dl,0DFh"
---
* Origin: IMS-NET #1 Tokyo,Japan (6:730/6)
=-=-=-=-=
To: Maynard Hogg Message #: 10817 6716 <Thread
From: Kris Lewis Submitted: 29 Feb 92 7:23:00
Subject: RE:Double Commands In Hn Status: Public
Received: No Group: 4DOS (89)
> KL>I wrote a little BTM to do the same job as uniq, but if there is a
> Could you show us your BTM file?
SetLocal
QSort %1^Cls^Set FileIn=%1
Set Lin=%@Lines[%FileIn]
Set Last=%@Char[255]
EchoS Deleting Duplicates:
:Next
Dec Lin^Set Curr="%@Line[%FileIn,%Lin]"
If %Curr NE %Last Echo %Curr >>Unique.Lst
Set Last=%Curr
Loop Next Until %Lin EQ 0
EndLocal
-------------------
The aliases in it are:
DECV Set %1=%@Eval[%[%1]-%2]
DEC DECV %1 1
LOOP If %2 Eq While If %3& Goto/I %1^If %2 Eq Until If Not %3& Goto/I %1
--------------------
I realize it can be prettied up, and won't work if there's commas in the file
being unique'd. I wrote it to do the job on a list of numbers and didn't care
about that detail, but it can be fixed easily by putting "'s in the right
places, as I did above. The BTM, as it runs on my own system,
does not have the
"'s on it, and is aimed at a specific file, so I had no references to a
command-line until editing it in the message. :)
K
--- JMail
* Origin: * Trader's World 619-BUG-TRAX * (1:202/613)
=-=-=-=-=
------------------------------------------------------------------------
Echo Flag : N Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 10/21/1990
To: RICHARD KLOC Num: 1769 Date: 10/18/1990
From: STEVEN WIRSZ Re: 0 Time: 10:01 pm
Subj: REMEMBERING ALIASES Prvt: N Read: N
RK>I have a question, Is there a way to display a list of all aliases
RK>currently in effect on your 4DOS system? Or do I have to write them
RK>down? The alias feature is super! You can almost create your own
RK>operating system!
To display all the aliases, type ALIAS by itself. To redirect it to your
printer, execute ALIAS > PRN at the command prompt.
RK>But wouldn't it be nice to have a utility similar to 4Edit and 4Zip
RK>that display all current aliases in alphabetical order and the actual
RK>commands they execute, and allow editing of aliases in this way?
RK>Is there such a program, if not maybe there will be!
There is a way to do that, with a simple alias and a good editor. The alias
is -
ALIASDAT=ted c:\alias.dat^unalias *^alias /r c:\alias.dat
This allows you to automaticly update the alias file that gets loaded in
AUTOEXEC.BAT, gives you a full screen list of your aliases, like 4edit, and
add, delete, or change any alias easily.
PS. This requires TED.COM - from PCMagazine.
---
■ SLMR 1.0 ■ Can't steal this tagline. You have too many tags allready
PCRelay:PRODATA -> #68 RelayNet (tm)
4.10 ProData Exchange * Tampa, FL * (813) 920-8820
------------------------------------------------------------------------
Echo Flag : N Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 10/20/1990
To: RICHARD KLOC Num: 1746 Date: 10/17/1990
From: REX CONN Re: 1722 Time: 5:40 pm
Subj: REMEMBERING ALIASES Prvt: N Read: N
-> I have a question, Is there a way to display a list of all aliases
-> currently in effect on your 4DOS system? Or do I have to write them
-> down?
It's not feasible to have an external command display aliases, (unless
it just reads them from an ALIAS /R file) because the alias list is
swapped out of memory when running an external program.
If you just want to view the aliases, enter ALIAS with no arguments at
the prompt. If you want to see everything sorted, try:
alias | sort | list /s
If you want to sort the list, edit it, and read everything back into the
active alias list, you can try something like:
alias | sort>aliases ^ e aliases ^ unalias * ^ alias /r aliases
For the "e", substitute the name of your own favorite ASCII editor.
- Rex
PCRelay:DCINFO -> #16 MetroLink (tm) International Network
4.10 DC Info Exchange MetroLink International Hub
------------------------------------------------------------------------
Echo Flag : N Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 9/23/1990
To: ROBERT KING Num: 1378 Date: 9/16/1990
From: NATHAN MELHORN Re: 0 Time: 5:06 am
Subj: Importing Descriptions Prvt: N Read: N
Robert,
RK>I've been DIRNOTES to keep file descriptions on my system for some ti
It was some time ago that I converted my DIRNOTES files to
DESCRIPT.IONs. I still have an AWK script around that did the job
at the time:
┌───────────────────dirn4dos.awk──────────────────────────────┐
#Convert PCMagazine DirNotes output to 4Dos descript.ion file
# Copyright (C) Nathan R. Melhorn (1989)
# You may use this program freely
BEGIN { # Setup UPPER/lower translate table.
uppers = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lowers = "abcdefghijklmnopqrstuvwxyz"
}
# Here's the line format we're looking for
# FILENAME EXT size mm-dd-yy .Time. Description of file..
# ┌───────────────────────────────────────────────────────────────────────────┐
# │ LIST COM 9209 1-30-89 12:48a V. Buerg's File Lister V4.2a │
# └───────────────────────────────────────────────────────────────────────────┘
# ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+
substr($0,10,3) < "!" { print lc($1) " " substr ($0 ,42, 38) ; next }
{ print lc($1) "." lc($2) " " substr ($0 ,42, 38) }
# Function to convert string parameter 's' to lower case. 'i' is a
# local variable used for counting.
function lc(s, i) {
for (i = 1; i <= 26; i++) # go through alphabet
gsub (substr (uppers, i, 1), substr (lowers, i, 1), s);
return s
}
└─────────────────────────────────────────────────────────────────┘
Invocation would be: ┌────────(fill this in)
┌─────┴────┐
awk -f dirn4dos.awk DIRNOTES.FIL >descript.ion
Since the script converts all file names to lower case, watch
out for directory names, and KEEP A BACKUP of your old DIRNOTES
and descript.ion files.
I found AWK210.ZIP and AWK210SC.ZIP (11-17-88) on my local BBS.
I also found VSNOBOL.ZIP (Vanilla Snobol, 5-16-88), another very
useful text processing language.
<< regards, Nate -- Sat 09-15-1990, 19:55 >>
---
■ EZ 1.33 #887 ■ Abro Hakmo Astab!
PCRelay:FUTURE -> #152 RelayNet (tm)
4.10 617 227-4170 HST ** 720-1330 HAY 9600
To: Bob Campbell Message #: 8710 6724 <Thread> 8764
From: furlan primus Submitted: 04 Feb 91 22:13:00
Subject: Size vs Work Around Status: Public
Received: No Group: 4DOS (89)
MSGID: 1:141/590@fidonet 27ae3f23
Languaging on <Feb 02 09:48> Bob Campbell (1:1060/1@fidonet) asserts:
BC> One such feature that was recently asked for is a %_Label variable, and
BC> another was the FILES.BBS/Descript.ion file thing.
the following may do the trick for you in converting from a
Files.Bbs type file to a Descript.ion file:
f2d.btm
-----------------------
setlocal
set i=0
:top
set line=%@line[files.bbs,%i]
if "%line" == "" quit
set name=%@substr[%line,0,12]
set desc=%@substr[%line,13,%@eval[%@len[%line] - 13]]
echo %name %desc >> descript.ion
echo %i %name %desc
inc i
goto top
where INC is an alias from a recent 4DOS newsletter:
INC=set %1=%@eval[%[%1]+1]
it makes incrementing a variable by one quite easy....
fl
--- msged 2.07
* Origin: form is void. (1:141/590@fidonet)
=-=-=-=-=
To: Bill Bond Message #: 8811 1049 <Thread
From: Martin Austermeier Submitted: 31 Jan 91 4:09:00
Subject: del . Status: Public
Received: No Group: 4DOS (89)
MSGID: 2:244/7010.2513 0a644fa1
Hi Bill,
BB> #2 d:\backup>del .
BB> File not found "d:\backup"
Here's a little ALIAS to fix the prob:
; BugFix 4DOS 3.02a
DEL IFF "%1"=="." THEN^*del *.*^ELSE^*del %&^ENDIFF
so long 4 2day
from Stuttgart, FRG
Martin
--- Yuppie! v2.00.19f/bitter
* Origin: Too good 4 DOS, alright 4 me! (2:244/7010.2513)
=-=-=-=-=
To: Ping Hansen Message #: 6351 4456 <Thread> 6353
From: Martin Austermeier Submitted: 11 Feb 91 2:20:00
Subject: Directory dependent execu Status: Public
Received: No Group: 4DOS (89)
RE: Directory dependent execution
MSGID: 2:244/7010.2513 0aadf39a
Hi Ping,
PH> I am wondering how to make an alias or a .btm that will execute different
PH> programs depending on wether the current directory is, say d:\msc, (or a
PH> subdirectory thereof) or not. Any suggestions ?
PH>
PH> Ceterum censeo, delenda est Saddam Hussein !
There are many ways that lead to Rome :-)
One could be: defining ALIASES, or SET Variables.
You might want to use the MSC compiler while you are in the \MSC
directory, or the TCC compiler from the \TC directory.
SETLOCAL
SET comp=
IFF %_CWD == C:\MSC THEN
SET kill=MSC.EXE /shoot
ELSE
IF %_CWD == C:\TC THEN
SET kill=TCC.EXE /drop_bomb
ENDIFF
ENDIFF
IFF "%kill%" NE "" THEN
%kill% hussein
ENDIFF
(not tested, but should work :)
so long 4 2day
from Stuttgart, FRG
Martin
--- Yuppie! v2.00.19g/Bitris
* Origin: Too good 4 DOS, alright 4 me! (2:244/7010.2513)
=-=-=-=-=
To: Terry Pinto Message #: 6353 6351 <Thread
From: Morris Turpin Submitted: 14 Feb 91 16:59:00
Subject: Directory dependent execu Status: Public
Received: No Group: 4DOS (89)
RE: Directory dependent execution
MSGID: 1:163/223.7 27bb26da
In a message dated Feb 12 at 21:26, Terry Pinto of 1:105/340
wrote to Morris Turpin:
TP> What about...
TP> iff "%_cwd" eq "d:\msc" then
TP> ...
TP> else
TP> iff "%_cwd" eq "d:\msc\sub1" then
TP> ...
TP> else
TP> iff "%_cwd" eq "d:\msc\sub2" then
TP> ... else
TP> ...
TP> endiff
TP> endiff
TP> endiff
TP> This may be a bit bulky depending on how many directories you want
It also pre-supposes that you know what directory you are in
already, making the check unnecessary. I believe the original
question asked how to do it *without* that knowledge (ie within a
batch file as %1 for example).
As an aside, and for your own information, instead of:
IFF
ELSE
IFF
ELSE
IFF
ELSE
ENDIFF
ENDIFF
ENDIFF
use:
IFF
ELSEIFF
ELSEIFF
[ELSE]
ENDIFF
you'll find it executes faster.
TP> I hope this helps in your project.
Nope, not mine. :^) I was responding to a question posed by
Ping Hansen. Maybe it will help him, though.
--- msged 2.06
* Origin: Ansi's Escape, Echo Point (1:163/223.7)
=-=-=-=-=
To: MICHAEL LEWIS Message #: 10264 4532 <Thread> 10355
From: CHRIS GRAHAM Submitted: 19 Feb 91 20:00:00
Subject: MISC ROUTINES Status: Public
Received: No Group: 4DOS (89)
Wow, interesting stuff. I don't really use/remember most of the
%functions available in 4DOS, though when I just got it, I checked
through some of that stuff and wrote a small file-managing (menu-driven
[sorta], at that) .BTM "shell".
I just got back into using 4DOS as I have realised how much its
useful traits outweigh my urge to break out of my AUTOEXEC before it
runs 4DOS before it runs 4START (which does virus scan, format recover,
etc.)... I started working on aliases a few days ago, this' what I got:
(the ~ character is actually a ^G)
MP=for %a in (%2 %3 %4 %5) do %1 %a
"multi-parameters" for non-4DOS commands (ext. programs)
HC=for %a in (%2 %3 %4 %5) do type %a >prn^echo>prn^echo ~~~
"hard copy"
VU=select list (*.doc+*.txt+*.now+*.me)
"view". Useful to go to new disks or directories you just unzipped new
programs to and quickly get a list of text files to read.
OPEN=cdd c:\archive^pkunzip %1 temp^cd temp^scan . -nomem^echo ~~~
type "OPEN zipname". From any drive/directory it will unzip a zip to my
temporary archive directory, scan for viruses, leave me in that
directory, and beep me when ready.
CCD=*cd
CD=cod
BD=popd
ALD=alias cd cad %1
OND=alias cd cod %1
CAD=ccd d:%1^ccd c:%1^beep 500 1
COD=pushd^cdd %1
The above includes some stuff that is of more use to me right now than
will be.
COD (change one drive's directory)
This switches to a mode where typing CD B:\TEMP will go to that drive
and directory, and typing BD (back directory) will go to the previous
directory.
CAD (change all drives' directories)
I am selectively moving a lot of directories over from my drive C: to my
drive D:. When I type CAD, it switches to a mode where it changes to or
shows the directory I specify, and then beeps so I know I'm in that
mode.
---
You yourself probably don't need any of these hints, but I figured
someone a little less advanced might pick up some ideas from them. They
are simple, but quite effective in upping my DOS efficiency. I am
looking for some really interesting ones, I will be developing some when
I find the time, or, of course, when necessity/laziness calls, like
today.
Chris Graham
--- PcBoard 14.5U
* Origin: Logical Solutions (403)299-9900 3.2 GIG 18 Lines HSTs.V42 (1:134/10)
=-=-=-=-=
To: All Message #: 9914
From: Robert Mashlan Submitted: 02 Mar 91 15:30:00
Subject: dual monitor aliases Status: Public
Received: No Group: 4DOS (89)
MSGID: 1:147/38 310f723b
Hello all,
I thought I might post these in case anyone needs them. I have
both a monochrome and CGA monitor hooked up to my system. I use
these batch files to switch between them with 4dos.
===========================================================
alias cga `iff monitor == mono then^echo switching to cga
mode...^mode co80^setdos /s6:8^endiff`
alias mono `iff monitor == color then^echo switching to
monochrome mode...^mode mono^setdos /s10:14^endiff`
===========================================================
Robert
--- FD 1.99c
* Origin: RWare Software HQ (405)447-0944 (1:147/38)
=-=-=-=-=
------------------------------------------------------------------------
Echo Flag : N Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/26/1991
To: ALL Num: 3897 Date: 2/20/1991
From: KEVIN WHITEFOOT Re: 0 Time: 6:28 am
Subj: ALIASES Prvt: N Read: N
Just thought someone might be interested in the following
fragment of my autoexec and of my aliases. I use these to save
myself the tedious job of editing autoexecs when I want to make
a change to my alias list or environment (path, prompt and so on).
---Autoexec
rem Setup 4DOS
alias /r c:\4dos\aliases
history /r c:\4dos\history
set /r c:\4dos\environs
---Aliases
SA=echo Saving Aliases^alias >! c:\4dos\aliases
SE=echo Saving Environment^set >!c:\4dos\environs
SH=echo Saving History^ history >! c:\4dos\history
---Some more aliases which illustrate how useful they can be even
if you don't try to be extra clever. I'm too busy (lazy) to type
four characters when one will do. And they save having a long path.
E=exit
F=svm 80x25 ^ c:\dos\lookfor
L=c:\dos\list %&
M=set mcaddir c:\mathcad ^c:\mathcad\mcad /eh /f0 /b63
MEM=*mem/a | c:\dos\list /s
MFT=c:\qemm\mft
PKUZ=c:\pkarc\pkunzip
PKZ=c:\pkarc\pkzip
PKL=c:\pkarc\pklite
Q=c:\qpro\q
R4=set r4 c:\reflect^c:\reflect\r4
T=c:\tp\turbo
TD=c:\td\td
WS=c:\dos\svm 132x60 ^ c:\ws5\ws
Z=c:\zstem\zstem240^cls
V=c:\drdos\viewmax
PCRelay:CAVE -> #334 RelayNet (tm)
------------------------------------------------------------------------
Echo Flag : N Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/26/1991
To: KEVIN WHITEFOOT Num: 3919 Date: 2/23/1991
From: SAM PIERCE Re: 3522 Time: 10:52 am
Subj: ALIASES Prvt: N Read: N
KW>Just thought someone might be interested in the following
KW>SA=echo Saving Aliases^alias >! c:\4dos\aliases
KW>SE=echo Saving Environment^set >!c:\4dos\environs
KW>SH=echo Saving History^ history >! c:\4dos\history
Always interested in swapping a few of these goodies. Here are a couple
of my favorites.
These two let me view my aliases or enviroment variable with LIST, so I
can scroll up and down to see the whole list. They also alphabetize the
list again in case I've made any changes.
ALIAS=iff "%1"=="" then^*alias|sort|list /s^else^*alias %1&^endiff
SET=iff x%1==x then^*set|sort|list /s^else^*set %&^endiff
To add new aliases to my basic collection:
UPDA*TE=*alias|sort > c:\4dut\aliases.sam^unalias *^
*alias/r c:\4dut\aliases.sam
To move files about and maintain my descript.ion files I use these
rather than a one of the nifty file managers.
SC=select copy [%1:*.*] %2:
SM=select move [%1:*.*] %2:
I've found Kidder's FDU to be a great tool for handling extended file
descriptions:
DES*CRIBE=iff .%1==. then^fdu^elseiff^isdir %1 then^fdu
%1\*.*^else^*describe %1^endiff
General tools:
AZ=select pkzip -a %1.zip [*.*]
EX=exit (Cause I type this so often)
free=iff x%1==x then^*free c: d: e: f: g:^else free %1:
NLA=echo %2& | label %1:^vol %1: (makes New LAbel on disk)
pku*nzip=*pkunzip -q %&
4DOS is great fun!
-- sam
---
■ SLMR 1.05 ■ Unable to locate Coffee -- Operator Halted!
PCRelay:DCINFO -> #16 MetroLink (tm) International Network
4.10 DC Info Exchange MetroLink International Hub
------------------------------------------------------------------------
Echo Flag : N Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/26/1991
To: STEPHAN DONELIAN Num: 3923 Date: 2/19/1991
From: ANTHONY CLARKE Re: 0 Time: 8:38 am
Subj: descript.ion Prvt: N Read: N
Hi,
I don't know if this is any help but I do the following -
Alias SDEL=select delete (*.*) /y
This shows all files !
Regards
---
■ SLMR 1.0 ■ It's only a hobby ... only a hobby ... only a
PCRelay:OLEF -> #181 RelayNet (tm)
------------------------------------------------------------------------
Echo Flag : N Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 2/26/1991
To: JAMES LUBIN Num: 3912 Date: 2/20/1991
From: JIM WINSTEAD Re: 0 Time: 9:12 pm
Subj: WISH LIST Prvt: N Read: N
JL∙I would like to see an addional %_date variable in the format YYMMDD.
∙This would be great for naming files.
That's not too hard to emulate given the current capabilities 4DOS
has.... ex:
ren %1 %#substr[%#name[%1],0,4]%@substr[%_DATE,0,2]
%#substr[%_DATE,3,2].%@ext[%1]
Actually, this only rename, for example, FILENAME.TXT to FILE0220.TXT,
but you could easily only take the first two characters of the
filename and add the year. In any case, you should get the general
idea of how this can be done.
---
■ SLMR 1.05 ■ Kill all exclamation points!!!
PCRelay:BYTELINE -> #365 RelayNet (tm)
To: Rex Conn Message #: 9173 3791 <Thread
From: Wally Meerschaert Submitted: 23 May 91 13:40:00
Subject: feature request Status: Public
Received: No Group: 4DOS (89)
RC> It's true it's not as obvious as it might be, but ESET is
RC> sharing the line editing code with the command line editing
RC> function, and an ESC in that function means clear the input,
RC> not cancel the command. I'd rather not get into trying to make
RC> the function work differently for different commands.
Well if Rex can't deliver, I can... This is one for the kludge
directory folks, and it's only a first stab. What it does is the same
thing as eset, except that it allows the use of ESC to clear the entire
line. I don't know if I personally will even use this, because I
wouldn't remember to use ee instead of eset, but here it is...
alias ee= `keystack "set %1=%[%1]%"`
What I really liked about doing this one was the fact that I could.
That in itself is a testement to Rex's work. I guess this means that
Rex DID deliver...
--- Via Silver Xpress V2.28
--- QM v1.00
# Origin: REG_10_SDSCoord 1:125/41 HST/V.32 415-621-2609 (8:914/201.0)
* Origin: Network Gateway to RBBS-NET (RBBS-PC 1:10/8)
=-=-=-=-=
To: Rolf Thomassen Message #: 9242 5238 <Thread> 9252
From: Philipp Thomas Submitted: 16 May 91 3:58:00
Subject: autoexec vs. 4start Status: Public
Received: No Group: 4DOS (89)
MSGID: 2:242/25.5 2831e993
PID: GoldED 2.3
Hello Rolf,
In a msg of <13 May 91>, you wrote to Dayton Livingston:
RT> Prompt [%_SHELL%] %Prompt%
Why not make use of 4DOS variables for your prompt ?
This is what my prompt definition looks like:
prompt $Xc: : $Xd: $Xe: Shell:$Z$_$n:$g
The $X statements show me the current directory on all drives.
And this is how the prompt is displayed:
C:\FD : D:\ E:\FILES\LANG\C Shell:1
D:>
You could write your definition as: Prompt $Z %prompt% . Same
effect, but less typing :-)
Cheerio
Philipp
--- GoldED 2.30
* Origin: Point of GORDIC NODE - 4DOS Support BBS (2:242/25.5)
=-=-=-=-=
To: Gerhard Hoogterp Message #: 9243 9239 <Thread
From: Oliver Schwabedissen Submitted: 16 May 91 18:05:00
Subject: DIR command Status: Public
Received: No Group: 4DOS (89)
MSGID: 2:248/19 2833036e
Hi Gerhard!
In your msg to Jeroen Feddema, dated <13 May 91 17:40>, it said:
>> Does anyone know how I could use the 4DOS DIR command in a batch
>> file to get a listing of ONLY filenames and descriptions WITHOUT
>> the file size and creation date/time info?
GH> What do you think of:
GH> Attrib -H Descript.ion
GH> Copy Descript.ion Files.bbs
GH> Attrib +H Descript.ion
GH> Describe Files.bbs "Files description file"
GH> ? Didn't test it here, but see no reason why it shouldn't work..;-)
I tested it here and used that for a long time. But when I
started to use TICK (automatic file distribution) I couldn't use
the 'copy' any more because new files and descriptions were added
automatically to FILES.BBS. And I also have a download statistic
in FILES.BBS. Now I sometimes need to copy the description from
FILES.BBS to DESCRIPT.ION and sometimes the other way round.
Depends on how I received the file (via TICK or requested by myself).
Greetings from Germany
<=- Oliver -=>
--- GoldED v2.31p+ via BT 2.40
* Origin: Actors will happen in the best-regulated families. (2:248/19)
=-=-=-=-=
To: Paul Marwick Message #: 9246
From: andy kreuzer Submitted: 16 May 91 17:13:00
Subject: Adding strings Status: Public
Received: No Group: 4DOS (89)
MSGID: 2:241/7014 581131a3
> BP> set a=%@substr[%_date,3,2]%@substr[%_date,0,2]%@substr[%_date,6,4]
> BP>
> BP> this works on my at. another way is to put day,month and year every in
> BP> one variable (i.e. d,m and y) and recombine them with
>
> :-) I like complicated solutions... On the other hand, for that sort
> of function, there is a much easier way of doing it. My batch files
> do this...
not for germans. ;-)
> ren max.log %_date.max
>
> Works just fine, and produces directory entries as below:
>
> 05-05-91.max
in germany, this would result in an illegal filename, like 05.05.91.xxx
keep on hacking
....andy
---
* Origin: it's lonely in the saddle since the horse died! (2:241/7014)
=-=-=-=-=
To: Bob Campbell Message #: 10004
From: Mike Arst Submitted: 19 May 91 12:05:00
Subject: .BTM to imitate 4ZIP util Status: Public
Received: No Group: 4DOS (89)
Wuzn't it you that was interested in the batch file I was trying
to put together to replace the 4ZIP utility? Memory fails me re:
who asked about it.
I had problems with bugs in 4ZIP so thought that with some of the
utils here I could come up with a batch file that'd do the job,
even though it would surely be slower than an .EXE or .COM file
dedicated to the task. Ok, here's a basic outline of the .BTM
file. I know that it's too restrictive at this point (doesn't
allow for wildcards or paths) but that simplified my life in
writing it. The tools used are:
PKZIP
PKUNZIP
GREP (the version by William McCormick)
SED (the GNU version, modified - i.e., from SEDMOD.ZIP)
I won't go into the error checking in great detail but will
instead just say what it is. .BTM file name is 4Z.BTM. Syntax to
add a file to an archive is: 4z a zipname filename Syntax to
extract a file from an archive is: 4z e zipname filename
- If there aren't 3 command line params, give syntax message & quit.
- If there is path information, or any wildcard, in command line,
give error message and quit (uses INDEX function to check command
line for "*" or "?" or "\" or ":".)
- If first param is neither 'a' nor 'e', give syntax message & quit.
- If first param is 'e' - go to the :EXTRACT label.
Here's what happens in the 'add file' routine, which comes first:
- If the file to be added doesn't exist, give error msg & quit.
- If zip file doesn't exist, ask if you want to create it. If "no,"
quit at once.
- If zip file exists but is read-only, give error message and quit.
Check the zip file for the 'member' file you want to add (uses
"PKUNZIP -T" and if errorlevel is 0, ask if you want to add the
new file, *over-writing* the old one. If "no," then quit at once).
Run the DESCRIBE function now - allows user to add or delete an
existing file comment or change existing file comment. When user
has done whatever is appropriate there, then pressed ENTER ...
1) Add the file from disk into the .ZIP archive
(if errorlevel is not 0 report PKZIP error and terminate now)
2) If file DESCRIPT.ION does not exist, you're done. Quit. If
it does exist:
3) Get the comment, using GREP:
GREP "^%@lower[%3]" descript.ion >& NUL
Use LOWER function to ensure that GREP is looking for a
*lower-case* string within DESCRIPT.ION (it can read DESCRIPT.ION
despite its being a hidden file). The regular expression uses the
"^" character to indicate "search ONLY at the beginning of a
line." If the errorlevel returned is not 0, it means there is no
file by the name "%@lower[%3]"
in DESCRIPT.ION. In that case, don't do anything further.
If the description exists, then GREP returns errorlevel 0. In
that case, use SED to extract the comment out of DESCRIPT.ION, thus:
4) sed -n "/^%@lower[%3]/s/^[^ ]+ //p" descript.ion> temp.tmp
This ugly little regular expression searches ONLY the line in
question within DESCRIPT.ION, and prints the line but *without*
the file name itself. That is, only that particular file comment
is printed - and redirected to file TEMP.TMP.
5) Now add contents of the one-line file TEMP.TMP as a comment to
the .ZIP file, then kill the temporary file:
pkzip -c ZIPNAME FILENAME < temp.tmp >& NUL
del /q temp.tmp
(Once again check for a non-zero errorlevel returned by PKZIP.)
Info about the "extract from .ZIP file" routine in next msg.
--- ME2
* Origin: SeaSoft (Seattle: 206.637-2398; 343/8) (Fidonet 1:343/8.9)
=-=-=-=-=
To: Bob Campbell Message #: 10005
From: Mike Arst Submitted: 19 May 91 12:25:00
Subject: .BTM instead of 4ZIP util Status: Public
Received: No Group: 4DOS (89)
RE: .BTM instead of 4ZIP util - 2nd of 2
Part 2 - the extraction routine:
- If the .ZIP file doesn't exist, announce this and quit.
- Use PKUNZIP -T to check the .ZIP file for the file name to
extract. If errorlevel is not 0, announce that "member" file
doesn't exist, and quit.
- If the file to extract now exists on disk, ask user if it's ok
to extract and over-write the file. If "no," quit at once.
- If "yes," but if the file now on disk is read-only, say so and
quit at once.
Extract the 'member' file from the .ZIP file.
Check for any PKZIP error. If there is one, say so and quit now.
Using SED, check for the existence of a comment - the next two
lines would be a single line in the actual batch file:
pkzip -vc ZIPNAME FILENAME |
SED -n "/^Comment: /s/^Comment: //p" | input %%Comment
The regular expression prints ONLY the line starting with the
character string "Comment: ", deletes "Comment: ", and prints the
rest of the line, piping the output to an environment variable.
IF "%Comment%" == "" CANCEL
(If no comment, you're done. Otherwise:)
keystack @117 13
describe FILENAME
The purpose of this is to clear any existing comment from the
file, **if it now exists on disk**. "@117" is CTRL-END and "13"
is ENTER. Next step (optional):
echo <esc>[A<esc>[K<esc>[A
with "<esc>" being an actual ESC character in the batch file.
This clears the line that just appeared when the DESCRIBE routine
was run - keeps the screen cleaner-looking.
Use SED to extract the file description from the .ZIP file and
redirect the output to a temporary file name. Again, the
following would be on TWO lines in the actual batch file:
pkzip -vc ZIPNAME FILENAME |
SED -n "/^Comment: /s/^Comment: //p" > temp.tmp
(Literally: print ONLY the line containing the comment for that
particular file, in the process removing the string "Comment: "
from the *beginning* of the line.)
Now take the content of the one-line file TEMP.TMP and redirect
that to the 4DOS 'describe' function for the newly extracted
file. Then get rid of the temporary file.
describe %Fname% < temp.tmp >& NUL
del /q temp.tmp
Wherever the strings ZIPNAME and FILENAME have appeared in all of
the foregoing, I have actually used environment variables based
on the contents of the command line - i.e., %2 and %3.
These explanations took a good deal more time to write out than
the batch file takes to execute, believe me. As I say, I'm sure
this isn't as quick as a dedicated util, but it works and has all the error-
checking I need. I was especially irritated that the 4ZIP util
operates in "PKUNZIP -O" mode, and the user has zero control over
whether an existing file on disk is over-written. This is very un-
PKUNZIP-like and is downright dangerous. Plus, I found that
sometimes 4ZIP just plain doesn't extract the file comments correctly, anyway.
--- ME2
* Origin: SeaSoft (Seattle: 206.637-2398; 343/8) (Fidonet 1:343/8.9)
=-=-=-=-=
To: Bob Campbell Message #: 10006
From: Mike Arst Submitted: 19 May 91 15:45:00
Subject: (typo) Status: Public
Received: No Group: 4DOS (89)
In part 2, I wrote:
> Use SED to extract the file description from the .ZIP file and
> redirect the output to a temporary file name. Again, the following
> would be on TWO lines in the actual batch file:
That should read: "on ONE line in the actual batch file"
--- ME2
* Origin: SeaSoft (Seattle: 206.637-2398; 343/8) (Fidonet 1:343/8.9)
=-=-=-=-=
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 7/11/1991
To: JULIAN SOLOMENSKY Num: 5911 Date: 7/06/1991
From: DENNIS MCCUNNEY Re: 5909 Time: 4:03 am
Subj: 4DOS Aliases #1 Prvt: N Read: N
JS│ Dennis.. Any chance of shooting up your environment variables and
JS│ aliases?... Hell, I've only got mine set to appr. 600 bytes for the
JS│ environment variables and under 500 bytes for the aliases.. what have yo
JS│ got that's taking up so much room???
....=pd ....
...=pd ...
..=pd ..
.=popd
A=a:
AED=edit c:\etc\4alias.rc^unalias *^alias /r c:\etc\4alias.rc
ALIST=alias|shows
AMI=pd %sm\ami
AREF=unalias *^alias /r c:\etc\4alias.rc
B=b:
C=c:
CA=%DEV\cache-em
CALCULAT=echo : %@eval[%&]
CANCEL=print /c
CAPSOFF=%UB\kbd capsoff
CAPSON=%UB\kbd capson
CDUU=cdd %UU
CHAR=setdos /l0
CHM*OD=attrib
CSHOW=*cshow +h
D2=dir /2pv
D=d:
DAT=dir *.dat
DD=pd
DE=dir /oe
DFA=df a:
DFB=df b:
DFD=df d:
DFAB=df a: b:
DFEZ=df %ez2
DFLB=df %LB
DFMR=df %MR d:
DFSM=df %SM
DFT=df c:\tmp
DFU=df c:\usr
DFUB=df %UB
DFUG=df %UG
DFUM=df %MAN
DFUU=iff "%1"=="" then set dir2=c:\tmp^else set dir2=%1^endiff^df %UU
%dir2^unset dir2
DGN=iff "%1"=="" then^select (%DGN\*.*)^else^%DGN\%1 %2 %3 %4 %5^endiff
DIR=raw on^*dir /ou %&^raw off
DL=`dir %1|shows`
DM=dirmatch
DOCS=select zr (%UM\*.zip)
DOGD=stackey "Y"^dog d: /fill
DP=dir /p
DSD=ds ne d:\
DSLB=ds ne %LB
DSUB=ds ne %UB
DSUU=ds ne %UU
DW=dir /w
E=edit
E4INIT=e c:\etc\4init.btm
ECFG=e c:\config.sys
EED=e c:\etc\4set.rc^unset *^set /r c:\etc\4set.rc
EINIT=e c:\etc\inittab
EPASS=e c:\etc\passwd
ERC=e c:\etc\rc.ksh
EX=vi -e
F=free
FA=f a:
FB=f b:
FD=f d:
FDC=set FDSHELL=/s:bd:\ /l:c:\ /e:%env /a:%ali^echo %FDSHELL
FDD=set FDSHELL=/s:bd:\ /l:d:\ /e:%env /a:%ali^echo %FDSHELL
FDSHELL=echo FDSHELL %FDSHELL
FVP=fv %1 /p^pause
H=history
HOME=cdd %home
IN=pd %1^%2&^popd
INTELEC=pd %sm\intelec
KB=kbfix2
L=listp
L0=setdos /l0
L1=setdos /l1
LARN=%UG\larn\larn
LCD=pushd^*lcd
LHARC=lha
LH=lha m /wd:\
LINE=setdos /l1
LIST=listp %1 /m
LL=ls -l
LLA=ll a:
LLB=ll b:
LLD=ll d:
LLUU=ll %UU
LP=print /p
LPSHUT=print /t
LPSTAT=print
LSC=ls -c
< Continued next message >
<<MESSAGE TOO LONG -- SOME LINES WERE DELETED>>
PCRelay:DCINFO -> #16 MetroLink (tm) International Network
4.10 DC Info Exchange MetroLink International Hub
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 7/11/1991
To: JULIAN SOLOMENSKY Num: 5912 Date: 7/06/1991
From: DENNIS MCCUNNEY Re: 5909 Time: 4:03 am
Subj: 4DOS Aliases #2 Prvt: N Read: N
JS│ Dennis.. Any chance of shooting up your environment variables and
JS│ aliases?... Hell, I've only got mine set to appr. 600 bytes for the
JS│ environment variables and under 500 bytes for the aliases.. what have yo
JS│ got that's taking up so much room???
< Continued from previous message >
M=memory
MAKEZIP=select pkzip %& (*.*)
MAN=zr %UM\man.zip
MAP=mapmem|shows
MAPV=mapmem /v|shows
MEGA=pd %MR^megaread^popd
MAHJONGG=pd %UG\mahjongg^*mahjongg /h /m^popd
MM=pd %MR
MO*RE=list /s
MR=mega
NAME=ds ne
ND=md %1^cd %1
NO=except (%1) %2&
NYRUN=pd %sm\nyrun
OV=cd ..\%1
PCO=%UB\pco /q
PD=pushd
PDF=pd %1^df^popd
PDSM=pd %SM
PDT=pd c:\tmp
PDUB=pd %UB
PDUD=pd %UD
PDUU=pd %UU
PEPSET=pd %TELIX^stackey ~M~M~M^pepsetup^popd
PIK=select /Ou %1 ( %& )
PK=pkpak
PKL=pklite
PKX=pkunpak
PKARC=pkpak
PKXARC=pkunpak
PM=iff not "%1"=="" then^pmap -%1|shows^else pmap|shows^endiff
POP=popd
PP=popd
PRACTICE=timer^vde^timer
PRT=print
PRUNE=*prune^cls
Q=*qm^qedit %1 %2 %3 %4 %5 %6 %7 %8 %9^*qm off
RAMD=pd d:\^pkunzip -o c:\tmp\ramd^popd
REN_DATE=rename %1 %@substr[%@name[%1],0,4]%@substr[%_DATE,3,2]
%@substr[%_DATE,6,2].%@ext[%1]
RESET=set /r c:\etc\4set.rc
RM=rm -i
RRM=\bin\rm -f
RON=raw on
ROF=raw off
SCOPY=select copy (%1)
SMOVE=select move (%1)
SD=df
SDEL=select del (%1)
SETL=set|shows
SHOWS=*list /s
SHOW=if not "%&"=="" set ltmp=%&^if "%&"=="" select set ltmp=(*.*)
^if "%ltmp%"=="" goto end^*list %ltmp%^set ltmp=
SWH=%UG\swh
TD=thedraw
TESTZIP=for %%v in (%1) do pkunzip -t %v
THEDRAW=stackey SP^*thedraw
TFE=%UB\tfe %TELIX\telix.fon
TIMEIT=timer^%&^timer
TLX=telix -snull
TLXLOG=listp %TELIX\logs\telix.use /e
TMP=pd c:\tmp
UB=select (%UB\*.*)
UNCOMPRESS=compress -d
UNZIP=%UB\pkunzip
UP=cd ..
UPKL=pklite -x
VIEW=vi -R
VIX=vi -x
VT=vtree|shows
WH*ERE=dir /dp
X=iff %_SHELL==0 then^history>d:\4history.log^endiff^exit
XT=iff "%@ext[%1]"=="lzh" then^lha x %1^elseiff "%@ext[%1]"=="arj" then
^arj x %1^else^*xt %1^endiff
ZAP2=erase %&^chkdsk^dir /w
ZAP=iff isdir %1 then^*del %1^*rd %1^else ^beep^echo Not a directory!^endiff
ZIP=%UB\pkzip -m -ex -bd:\
---
■ SM 1.06 A0129 ■ Jul 4, 1991 ■ R/O Capable ■ Route to ->RUNNINGB
PCRelay:RUNNINGB -> #3 RelayNet (tm)
PCRelay:DCINFO -> #16 MetroLink (tm) International Network
4.10 DC Info Exchange MetroLink International Hub
------------------------------------------------------------------------
Echo Flag : Y Permanent: N Export: N Personal Read: N
BBS: ASTRIX Conference: 4DOS Imported: 3/05/1992
To: DAVE KALWISHKY Num: 11692 Date: 3/04/1992
From: CHRISTOPHER BOLIN Re: 0 Time: 2:01 am
Subj: Batch File Wanted Prvt: N Read: N
DK> Sometime ago someone posted a batch file that would rename a file and
> increment the extention from .000 to .999. For example, everyday I get a
> file called TEST.ZIP and I want to keep 1000 of these in the same
> directory, the best way is to modify the file file extention to test.001,
> test.002, test.003 and so on.. Someone once before posted a batch file to
> do this..
As ugly as it is...here you go:
@ECHO OFF
if "%1" == "" goto bad
if NOT "%@ext[%1]" == "" goto bad
iff exist d:\down\%1.qwk then
Echo %@upper[%1] mail packet found!
pushd
move /Q d:\down\%1.qwk c:\olx\qwkmail
Echo Working...
cdd c:\olx\qwkmail
set File1=%1.q20
if exist %File1 del /Q %File1
set i=20
gosub rQWK
ren /Q %1.qwk %1.q00
popd
popd *
unset i^unset j
unset File1^unset File2
Echo