------------------------------------------------------------------------ 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 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 ^ sortk:\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: -- 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 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 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. 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 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. <> --- 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 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 $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 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 . 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). 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 ( <> 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  :--------------------------------------------------------------------- :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 <> 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 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 > 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 . 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). 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 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 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 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 #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 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 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 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 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 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 , 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 [A[K[A with "" 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 > <> 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 Echo ...Fini else Echo %@upper[%1] mail packet NOT found... endiff OLX EXIT :rQWK set j=%@eval[%i - 1] if %j LT 10 set j=0%j if %i LT 10 set i=0%i set File1=%1.q%i set File2=%1.q%j if exist %File2 ren /Q %File2 %File1 set i=%@eval[%i - 1] if %i == 0 return goto rQWK :bad echo You must specify a filename without extension... quit Hope it helps, Christopher Bolin --- þ SPEED 1.10 [NR] þ Gee officer, I just wondered how fast SPEED READ was. PCRelay:EMERALD -> #644 RelayNet (tm) ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 3/06/1992 To: PAUL CONANT Num: 11683 Date: 3/01/1992 From: JAY HANNA Re: 0 Time: 4:05 pm Subj: GREAT SERVICE Prvt: N Read: N PC>³JH> I have over 4,000 bytes of aliases, the kind that pops into your PC>³JH> head at the least expected times PC>Maybe you ought to post some of those for us new 4DOS users. I PC>find the best way to learn to use alias is fool around with someone Here are a couple I use to change directories without alot of typing: cu=cd\util^cls cx=cd\xxx^dir I'm always copying or moving files to my temp directory designated xxx. I managed this one with help from another user. I'm not sure if the [AT] sign or carriage return will be passed along so the first character is [AT sign], and the last two characters will be the up arrow followed my the letter R. Anyway all I need to do is hold down the ALT key and tap C; carriage return is added automatically: @ALT-C=c:\xxx^r I like to make backups of critical files, and I want to do it easily. This alias is all on one line. Here's how: auto=copy c:\autoexec.bat c:\autoexec.bak^copy c:\autoexec.bak c:\re-boot\standard.bat^copy c:\config.sys c:\config.bak^copy c:\config.bak c:\re-boot\standard.sys^copy c:\4dos\4dos.ini c:\4dos\ini.bak^copy c:\4dos\alias.lst c:\4dos\alias.bak The following alias is one I got from the conference. It will del everything except for %1, and donsen't wait for a y/n response. I often use it to del *.* by omitting %1. For those of you that don't understand the uses of % in batch files or aliases; lets say I want to del everything in the current dir. execept [my.doc], the syntax would be: delx my.doc, with my.doc being represented my %1. delx=except (%1) del *.* /y I'd like to see additional aliases myself, let's see some of your work, or others work . --- þ SLMR 2.1 þ Beware of Programmers who carry screwdrivers. PCRelay:ZED -> #200 RelayNet (tm) ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 3/06/1992 To: JAY HANNA Num: 11694 Date: 3/05/1992 From: DAVE LEMIRE Re: 11150 Time: 8:19 am Subj: GREAT SERVICE Prvt: N Read: N JH> The following alias is one I got from the conference. It will del everythin > except for %1, and donsen't wait for a y/n response. I often use it to del > *.* by omitting %1. For those of you that don't understand the uses of % > in batch files or aliases; lets say I want to del everything in the current > dir. execept [my.doc], the syntax would be: delx my.doc, with my.doc being > represented my %1. JH> delx=except (%1) del *.* /y I've got a slightly different spin on DELX -- mine got a bit more bulletproof after I accidently invoked it with no arguments and blew away an entire directory! KEEP=`iff "%1!" == "!" then^beep^else^except (%&) del /y *.*^ENDIFF` This version's a little safer, and also lets you specify multiple file names/types to keep. Dave Lemire --- þ OLX 2.2 þ Overdrawn? but I still have checks left!! þ KMail 2.91i 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: 4-DOS(ECHO Imported: 3/08/1992 To: REX CONN Num: 36 Date: 3/05/1992 From: SYLVAIN BEAUREGARD Re: Time: 12:12 pm Subj: THANKS FOR %@SELECT Prvt: N Read: N Hi Rex! I was already a fan of 4DOS. A few days ago I just discovered THE function within 4DOS who made me a 4dos addict for the rest of my life: %@SELECT. With this little function, I wrote an alias which is in fact my phone directory. Here's the alias, named TEL: set tel=%@select[C:\4dos40\tel.lst,10,10,20,70,Phone dir] If "%tel%n"=="n" QUIT ECHO AT DT %@WORD[0,%TEL%] > COM2 echo Dialing: e[0;37;44;7m%TEL%e[0;37;44;1m pause Press any key to hang up. ECHO AT H0 > COM2 set tel= My C:\4DOS40\TEL.LST is simply an ASCII file, in this format: XXX-XXXX - Name (office/modem/home) Hope it will be useful to others. Sylvain Beauregard --- TMail v1.27 * Origin: Le Relais BBS - Montreal, PQ, CN - 514/383-1567 (1:167/211)  ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/10/1992 To: ALL Num: 75 Date: 3/07/1992 From: DAYTON LIVINGSTON Re: Time: 6:24 pm Subj: Timing doors Prvt: N Read: N Ho folkses! Here's a little tip for some of the other SysOps on this echo. On my BBS, there's some game doors that I don't really want people playing during certain hours (because those hours as when I try to take care of any "business" stuff). With the amazing flexibility and power of 4DOS, I found a quick & easy way to avoid this little problem without having to go to an outside door-management program. I just include this little segment in the BAT file that calls the door... IF %@TIME[%_TIME] GT 64800 .AND. %@TIME[%_TIME] LT 72000 ( ECHO Game DOORs Off-Line from 6:00PM to 8:00PM >COM2 ECHO Please call back later to play your game. >COM2 C:\BAT\bbs.bat ) Okay, for those of you who can't figure it out (hah!), the first line is just an IF that checks the current time and counts the seconds since midnight. If over 64800 (6:00 PM) and under 72000 (8:00 PM), then it executes the following lines, which are read as one command for the IF because of the command grouping (the open parentheses at the end of the line) The second and thrid lines echo the text to COM2, where my modem resides. This informs the caller as to why the door doesn't work. The last line is just the name of the BBS batch file, which calls the BBS back online. Simple. If anyone seens any possible problems with it, please let me know! It SEEMS to work just dandy, but then, I've heard that song before! :) Hope it helps someone else out there! - Dayton --- 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: 3/12/1992 To: JAY HANNA Num: 11812 Date: 3/05/1992 From: DAVE RIETZ Re: 11150 Time: 8:15 pm Subj: GREAT SERVICE Prvt: N Read: N ³JH> ³ ³JH> I'd like to see additional aliases myself, let's see some of you³ ³JH> others work . ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; Some of my most used are extremely simple. I abhor typing :\, so I have a, b, c etc aliases (used to be batch files) with replaceable parameters. c c:^cd c:\%1^%2 %3 %4 %5 %6 This allows me to get to the root directory with "c ", or to a subdirectory (or nested directories... whatever will fit into %1. Then, call a program when I get where I'm going, and feed the program switches or filenames. Something like: c wp wp a:letter.doc /m=hpiii c wp logs to the wp subdirectory, %2 (second wp) loads wordperfect which logs to drive a to retrieve letter.doc, and /m=hpIII is a macro for loading the HPIII printer driver. With cdpath set in my 4dos.set file such as: cdpath=c:\;d:\;c:\qt;c:\wp;d:\acad;d:\milcom;d:\pics;d:\wp; I can navigate from drive to drive directly to a subdirectory with just . subname. This is a lot like the above... but simpler. . %1\^%2 %3 %4 Then, of course, an alias such as .. cd.. and variations on that theme. I guess I have more that the oft expressed 4000 bytes of aliases... I have around 11000 bytes. But then, I have over 250 directories with over 8000 files spread out over two 210 meg HD's. Perhaps that explains the above simple aliases being my favorites. I'll say one thing for SURE... when I get on a machine with plain dumb ol' DOS I feel both naked and about as dumb as that machine! --- þ MegaMail 2.10 #574:Jes waitin' fer another HUGO! PCRelay:ASYLUM -> #962 MetroLink (tm) International Network 4.11 Asylum BBS Metrolink Regional (803) 763-9335 ------------------------------------------------------------------------ Echo Flag : N Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 3/14/1992 To: LOREN OLSON Num: 11819 Date: 3/13/1992 From: DON BEILFUSS Re: 11814 Time: 11:13 am Subj: 4DOS & MEMORY & MAILREADE Prvt: N Read: N Sure... here goes... : : Aliases defined for Astrix : : Keystroke aliases : @F5=@d:\bat\expandr @F2=c:\dos5\helpr @F4=*.* @F11=cash /write=onr @F12=exitr : : unalias * aliased q c:\4dos4\aliases~unalias *~alias /r c:\4dos4\aliases set iff "%1"=="" then *set /p ~ else *set %& ~ endiff showme `echo %[%1]` : : General Hi-Use, building blocks (aliases used by aliases) : dr c:\command /c in pushd %1~%2&~popd vv `%& | list /s` : : Directory manipulation aliases : '' pushd .. ' popd \=cd\ .*..........=cd.%0\%1 dd pushd du popd nd md %1~cd %1 ovr cd ..\%1 up cd .. xd md %1~cd %1~unzip ..\%1 swapd=setlocal~set currentd1=%_cwd~popd~set currentd2=%_cwd~cd %currentd1~pushd %currentd2~endlocal : : Directory listing aliases : d2 dir /2pv da dir /a:-h-s-d /p de dir /oe dia dir a: dib dir b: dl dir /a:-h-s-d %& | list ds dir /adp dx dir /p *.[ceb][oxat][me] ss s /4 : : History aliases : ?? alias | list /sw die del c:\logs\history.lst~history > c:\logs\history.lst hi*story *history live history /r c:\logs\history.lst : : Command renaming for convenience aliases : ansi dvansi e exit format in c:\usr\format formatf list d:\lib\listp.com 4l *list l listp map pmap %1 | list /s mm mapmem omap d:\lib\map omni in c:\bin\omni ou defkeys : : File manipulation aliases : bak del *.bak sdel select del (%1) zap2 erase %&~chkdsk~dir /w : : File attribute manipulation aliases : addsys attrib +s adir attrib delsys attrib -s continued in next message... ------------------------------------------------------------------------ Echo Flag : N Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 3/14/1992 To: LOREN OLSON Num: 11820 Date: 3/13/1992 From: DON BEILFUSS Re: 11814 Time: 11:18 am Subj: 4DOS & MEMORY & MAILREADE Prvt: N Read: N And away we go again... : : File attribute manipulation aliases : addsys attrib +s adir attrib delsys attrib -s hide attrib +h read attrib +r unhide attrib -h write attrib -r : : Program starting aliases : comm in c:\qmx qmodem com3 in c:\qmodem3 qmodem cshow in e:\cshow *cshow +sP1 ed pe2 /pc:\etc\help\pe2long.pro font in c:\usr\fonts vgafont font1 in c:\usr\fonts vgx fresno.fnt font2 in c:\usr\fonts vgx sanserif.fnt geo in c:\usr\geo geoclk gshop in c:\usr\gws gws ncash in c:\bin\nu ncache nu in c:\bin\nu norton pcg in c:\usr\pcglobe pcglobe pct*ools in c:\bin\pctools *pctools /nf /bf /25 pcu in c:\usr\pcusa pcusa pdx in f:\pdx paradox -emk 512 rlychek dir e:\transfer\hold w in f:\wp51~wp %1 WinR in c:\win3 *win /r WinS in c:\win3 *win /s : : Tame aliases : tamei tame-res~tame /timepoll tames tame /status tameu tame /uninstall tamex tame-res~tame /DVAWARE /NoKeyIdle /NoKeyPoll /NoTimePoll /FREQ:50 : : Cache aliases : cash pc-cache cache in c:\ktrak superpck : : Special purpose aliases : packer pcbpack /fast /killbak /killdups /date:%2 /area:%1 tools was b4 ~ font1 ~ tamex workstat dmd cdefg /q work mv *.* e:\work : : Prompts and Fun stuff : bell beep 1040 4 ~ beep 1176 4 ~ beep 932 4 ~ beep 466 4 ~ beep 698 6 lprom prompt $p-($z)-$g pset prompt $e[0m$e[32m$p-($z)-$e[37m$g$e[36m : : Not otherwise categorized : tex `timer~%1 %&~timer` That ought to give you enough to chew on for a few days... My favorite is "bell". Good luck and let me know if you need any of them explained. Most are fairly short, simple, and easily understood. ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 3/14/1992 To: ALL Num: 11835 Date: 3/11/1992 From: MARK GUTHRIE Re: 0 Time: 5:41 pm Subj: PRNTFILE.BTM Prvt: N Read: N A while back I noticed a few people said they were using 4PRINT, a program for printing program listings in landscape mode. It works great, but since it begins each new file listing on a new page, it can waste some paper if you are printing short files. Here is a short batch file I wrote to combine several small files into one large file, with a simple header at the front and form feeds to seperate the files. When used with 4PRINT, each file begins on a new column with the filename as a header. -------------------------[ PRNTFILE.BTM ]-------------------------- @echo off iff "%1"=="" then echo PRNTFILE (dest) (file1) (file2) ... quit endiff set out=%1 set dbline=ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ :loop for %i in (%2) gosub print shift if "%2" NE "" goto loop unset out unset dbline quit rem rem Print file specified in %i with filename at top of first rem page and form feed at the end of the last page. rem Send output to %out. rem :print set len1=%@len[%i] set lin1=%@substr[%dbline,0,%len1] set upname=%@upper[%i] echo ÉÍ%lin1%Í» >>& %out echo º %upname º >>& %out echo ÈÍ%lin1%ͼ >>& %out echo. >>& %out type %upname >>& %out echo f >>& %out unset len1 unset lin1 unset upname return ------------------------------------------------------------------ * SLMR 2.0 * If it isn't Scottish ... it's CRRAAAPPP! 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: 4-DOS(ECHO Imported: 3/14/1992 To: KEVIN COATES Num: 125 Date: 3/12/1992 From: DAVE MUNHOLLON Re: Time: 1:03 pm Subj: Help! Prvt: N Read: N * Replying to a Message From Kevin Coates To All. * Quoting Kevin Coates... KC> I would like to be able to automate some BBS functions at the end of KC> the month (reports, file purges etc.). Is there any way I can use a KC> 4dos batch/btm file to detect when the 1st of the month rolls around? KC> How could this be done? Any working samples would be appreciated. I use the below .btm to rename my logfile.zip at the end of each month. You would most likely only be interested in the first line that detects that it is the first day of the month. iff %@substr[%_date,3,2]=01 then if %@substr[%_date,0,1]=1 set %hold=%@substr[%_date,0,2] if %@substr[%_date,0,1]=0 set %hold=%@substr[%_date,1,1] if %@substr[%_date,0,2]=01 goto setdec set month=%@substr[janfebmaraprmayjunjulaugsepoctnov,%@eval[(%hold-1)*3],3] set year=%@substr[%_date,6,2] goto rename :setdec set month=dec set year=(%@substr[%_date,6,2]-1) :rename ren c:\logfiles\logfiles.zip %month-%year.zip I'm pretty sure there is probably a much simpler way to write this whole thing but it works. -=*Dave --- * Origin: 4DOS, THE command proccessor!! (FidoNet 1:128/86) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/14/1992 To: KEVIN COATES Num: 131 Date: 3/12/1992 From: RON WESTLAKE Re: Time: 10:35 am Subj: Help! Prvt: N Read: N > I would like to be able to automate some BBS functions at the end of the > month (reports, file purges etc.). Is there any way I can use a 4dos > batch/btm file to detect when the 1st of the month rolls around? How > could this be done? Any working samples would be appreciated. : for USA date format iff %@substr[%_date,3,2] == 01 then put BBS functions here... endiff Be sure to run it in a 'one time' daily event. Ron --- * Origin: GENESIS * Portland, OR USA * (503)257-2462 * (1:105/18@fidonet.org) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/14/1992 To: KEVIN COATES Num: 132 Date: 3/12/1992 From: JOE RECKER Re: Time: 3:57 pm Subj: Help! Prvt: N Read: N KC> I would like to be able to automate some BBS functions at the end of the KC> month (reports, file purges etc.). Is there any way I can use a 4dos KC> batch/btm file to detect when the 1st of the month rolls around? How KC> could this be done? Any working samples would be appreciated. I have a Daily.Btm that executes every night at midnight. BUT on the 1st of the month and on Friday's I have a few things I want to do. So I put them in different files and did them as such: if %_date=01-01-92 call monthly.btm if %_date=02-01-92 call monthly.btm if %_date=03-01-92 call monthly.btm if %_date=04-01-92 call monthly.btm if %_date=05-01-92 call monthly.btm if %_date=06-01-92 call monthly.btm if %_date=07-01-92 call monthly.btm if %_date=08-01-92 call monthly.btm if %_date=09-01-92 call monthly.btm if %_date=10-01-92 call monthly.btm if %_date=11-01-92 call monthly.btm if %_date=12-01-92 call monthly.btm if %_dow=Fri call weekly.btm //rest of daily maintenance batch here// Joe --- Maximus 2.01wb * Origin: Combat Override BBS (1:3617/3) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/14/1992 To: MORRIS TURPIN Num: 116 Date: 3/10/1992 From: SYLVAIN BEAUREGARD Re: Time: 5:24 pm Subj: THANKS FOR %@SELECT Prvt: N Read: N Hi Morris! MT> SB> Hope it will be useful to others. MT>Sure is! Thanks for sharing it. Glad to see it will serve you also. Here is another for you and all other folks: Alias name: ESET Iff %1=a then alias >! D:alias.lst *ESET /A %@WORD[0,%@select[D:alias.lst,5,4,20,76,Actual alias list]] del D:alias.lst /Q ELSE set >! D:\env.lst *ESET %WORD[0,%@select[D:env.lst,10,10,20,70,Actual envronment variables]] del D:\env.lst /Q endiff What it does? When I enter ESET A it shows me all my aliases and ask which one I want to change, then I press ENTER and edit it. If I only enter ESET, it shows me my environment, and so on. Why doing it this way? Because I use a few environmental variables with identical name as my aliases, so I forgot everytime to specify the /A parameter of ESET command. Another use is simply to be sure of the spelling and/or contents of the alias/variable you want to edit or delete. Two little alias doing great things to me, just relying on this wonderful function %@SELECT. Sylvain Beauregard, Montreal, Quebec, Canada --- TMail v1.27 * Origin: Le Relais BBS - Montreal, PQ, CN - 514/383-1567 (1:167/211) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/14/1992 To: SYLVAIN BEAUREGARD Num: 119 Date: 3/11/1992 From: STANTON HERSHMAN Re: Time: 2:33 pm Subj: THANKS FOR %@SELECT Prvt: N Read: N In a msg on , Sylvain Beauregard of 1:167/211 writes: SB> SB> set tel=%@select[C:\4dos40\tel.lst,10,10,20,70,Phone dir] SB> If "%tel%n"=="n" QUIT SB> ECHO AT DT %@WORD[0,%TEL%] > COM2 SB> echo Dialing: e[0;37;44;7m%TEL% e[0;37;44;1m the CTRL-X ^ and here ^ got stripped. Works like a charm now. Through the whole shootin' match up on the ramdrive. Real fast. Had some problems with the colors, but finally got that fixed, too. SB> pause Press any key to hang up. SB> ECHO AT H0 > COM2 SB> set tel= SB> Again, nice job! CHANGES I MADE: @echo off echo e[0;44;36;1me[2J ;set bright cyan on blue, cls cls set tel=%@select[H:\tel.lst,10,10,20,70,Phone dir] if "%tel%n"=="n" goto CLEAR ;if quit set colors to default ECHO ATDT %@WORD[0,%TEL%] > COM2 echo Dialing: e[0;37;44;7m%TEL%e[0;37;44;1m echo e[33;441m ;set colors back to default bright yellow on blue pause Press any key...... cls ECHO AT H0 > COM2 goto END :CLEAR echo e[33;441m cls :END set tel= --- msgedsq 2.0.5 * Origin: Cat's_Meow (1:3620/8) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/14/1992 To: SYLVAIN BEAUREGARD Num: 133 Date: 3/12/1992 From: DAVID POWERS Re: Time: 10:07 am Subj: Thanks for %@select Prvt: N Read: N Hi Sylvain! >Glad to see it will serve you also. It does, it does, I like it a lot. Here it is with a name search feature: set phdir=(your phone dir, w/path) ::if a parameter is entered, look for it in the phone dir. iff %@len[%1] gt 0 then set phtemp=%temp\ph.tmp ::fgrep is a fast version of DOS Find -- it also produces :: exit codes, so you can use "||" (conditional command) to :: dial from the match list when matches are found. :: "if %? == 1" would do just as well. || is faster. fgrep -x %1 < %phdir > %phtemp || set phdir=%phtemp endiff set tel=%@select[%phdir,5,9,15,70] iff %@len[%tel] gt 0 then ECHO AT M1 L0 DT %@word[0,%tel] > com1 ::replace the <^X>'s with real alt-24's. pause Dialing: %tel<^X>r<^X>nPress any key to hang up. ECHO AT H0 M0 > com1 endiff if "%phtemp" ne "" del/q %phtemp uns tel phdir phtemp >Here is another for you and all other folks: >Alias name: ESET Thanks, I'll probably use that, too. :) * SLMR 2.1a * There's a lady who's sure ... oh, you know that one? --- TosScan 1.00 * Origin: Coconino County BBS *415-861-8290* San Francisco, CA (1:125/28) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/16/1992 To: SYLVAIN BEAUREGARD Num: 144 Date: 3/13/1992 From: FURLAN PRIMUS Re: Time: 1:46 pm Subj: THANKS FOR %@SELECT Prvt: N Read: N thanks for the TEL alias, i have changed it a bit for my own purposes: (it is a bit longer in this version so i can't use it as an alias...) setlocal cls bri whi on blu set tel=%@select[C:\4dos\tel.lst,5,20,20,60,Phone dir] If "%tel%n"=="n" QUIT set number=%@word[0,%tel] set taillen=%@eval[%@len[%tel] - %@len[%number]] set tailbeg=%@index[%tel,%@word[2,%tel]] set tail=%@substr[%tel,%tailbeg,%taillen] drawbox 3 1 5 %@eval[%@len[%tel] + 17] 2 bri yel on gre fill cya sha scrput 4 3 bla on cya Dialing: scrput 4 12 red on cya %number scrput 4 27 bri yel on cya %tail ECHO AT DT %number > COM2 screen 0 3 pause gently fondle any key to hang up.... ECHO AT H0 > COM2 screen 8 0 endlocal fl --- msgedsq 2.0.5 * Origin: Being weird isn't enough. (1:141/590) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/17/1992 To: DAVID POWERS Num: 167 Date: 3/13/1992 From: SYLVAIN BEAUREGARD Re: Time: 9:38 pm Subj: THANKS FOR %@SELECT Prvt: N Read: N Hi David! >It does, it does, I like it a lot. Here it is with a name search Thanks a lot for this enhancement, I'll use it too. I liked the idea of a variable to place the phone list. I had another idea. We could easily create 2 lists (one for friends and the other for business) and name them TEL-LIST.F and TEL-LIST.B, and simply put a parameter on command line as F or B to choose one list or the other, with something like this: >set tel=%@select[%phdir.%1,5,9,15,70] With a variable equal to "TEL-LIST", we could call TEL F ou TEL B. Bye! Sylvain Beauregard, Montreal, Quebec, Canada --- TMail v1.27 * Origin: Le Relais BBS - Montreal, PQ, CN - 514/383-1567 (1:167/211) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/17/1992 To: STANTON HERSHMAN Num: 175 Date: 3/15/1992 From: RAYMOND BERIAU Re: Time: 3:03 am Subj: THANKS FOR %@SELECT Prvt: N Read: N Hello Stanton (of 1:3620/8@fidonet.org). In a message dated 13-Mar-92 @ 13:34, you wrote to Sylvain Beauregard: SB> Iff %1=a then SB> alias >! D:alias.lst SB> *ESET /A %@WORD[0,%@select[D:alias.lst,5,4,20,76,Actual alias SB> list]] SB> del D:alias.lst /Q SB> ELSE SB> set >! D:\env.lst SB> *ESET %WORD[0,%@select[D:env.lst,10,10,20,70,Actual envronment SB> variables]] SB> del D:\env.lst /Q SB> endiff SH> Curiosity: SH> If after the window displays, I elect to ESC, since I changed my SH> mind or think that I changed my mind(!), I get the following- SH> Not in environment "[0" SH> Not in environment "]" I solved the problem by correcting the second statement, and adding the "/m" command to ESET, such as: ELSE set >! D:\env.lst *ESET /M %@word[0,%@select[D:\env.lst,10,10,20,76,Environment variables]] del D:\env.lst /Q endiff --- msgedsq 2.0.5 * Origin: INFODATA Informations - HST/DS [v.32|v.42Bis] (1:242/90) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/17/1992 To: SYLVAIN BEAUREGARD Num: 195 Date: 3/15/1992 From: DAVID POWERS Re: Time: 11:50 am Subj: Thanks for %@select Prvt: N Read: N Hi, >I had another idea. We could easily create 2 lists (one for friends >and the other for business) and name them TEL-LIST.F and >TEL-LIST.B, and simply put a parameter on command line as F or >B to choose one list or the other, with something like this: >>set tel=%@select[%phdir.%1,5,9,15,70] That will work but it requires that you enter a list to dial from each time to you use the program, or you'll get an error. How about this, replace the starting line: set phdir=tel-list with set phdir=b (or whichever one you want as a default) ::if %1 is either a lone "b" or "f", override the default :: extension. You can add more to the list by keeping the same :: format (i.e., *one* space between each letter you're :: testing). iff %@index[ b f , %1 ] ne -1 then set phdir=%1 ^ shift endiff set phdir=tel-list.%phdir and that does it, I think. I'm constantly afraid that someone is going to pop out here and say, "Ah-ha, you're wrong, and you're a ninny, too." This is also Environmentally Friendly, it recycles a variable. :) I forgot, I changed the line that says "Dialing %tel, hit any key to hangup" to: echo Dialing: %tel ^ delay 1 ^ pause Press any key to hang up. Because without the delay, a double keystroke when choosing whom to call would exit the program w/o hanging up the modem. * Koala 1.5 * Troy Wars: "That's no horse, that's a battle platform!" --- TosScan 1.00 * Origin: Coconino County BBS *415-861-8290* San Francisco, CA (1:125/28) ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 3/18/1992 To: ROBERT MAUBOUCHE Num: 11904 Date: 3/16/1992 From: PATRICK LEE Re: 0 Time: 6:32 pm Subj: Add ons Prvt: N Read: N RM ² I found a few shareware pgms which extends 4DOS possibilities even ² further, such as 4EDIT, 4PROMP, 4ZIP. 4BATCH10.ARJ 4,214 11-07-91 4BATCH v1.0 - A simple collection of BTM files for 4DOS v4.0 using the advanced features of 4DOS. 4DATE.ZIP 5,741 11-07-91 4DATE [31 Oct 91] - Provides a useful set of date computation functions for 4DOS 4.xx. 4DTNT.ARJ 25,178 11-03-91 4DOS Tips and Tricks - Several batch files written for 4DOS users. Public domain. 4EDIT109.ZIP 60,925 10-24-91 4EDIT v1.09 [Sep 91] - A full screen DESCRIPT.ION editor for use with 4DOS. It makes it very easy to attach descriptions to your files, much more convenient than the built-in 4DOS DESCRIBE command. It uses WordStar-style keys and supports cut & paste. [ASP] 4FC10.ARJ 14,735 11-22-91 4COMMENT v1.0 [16 Nov 91] - It extracts file descriptions from a BBS list or a formatted capture file, matches them to existing files, and installs the descriptions as an archive comment; description for 4DOS' DESCRIPT.ION file; or into a separate text file. 4FILES2M.ARJ 54,627 10-13-91 4FILES v2.Na - Multi-purpose file management tool & front-end for your browsing & editing utilities. Includes editor for 4DOS-style notes. Works on files singly or in marked blocks. Directory list can be sorted. [ASP] FDU201A.ZIP 24,568 12-10-90 Directory utility for 4DOS, it can copy/move/delete files, and handles corresponding 4DOS description as well. Faster than 4DOS itself. PKBTM103.ARJ 8,807 01-18-92 PK.BTM 1.03 for 4DOS 4.0 - One of the most complex 4DOS batch file ever published. It allows you to do almost everything that any archiver shell would do in a simple batch file. --- þ Mon Mar 16 18:32:53 EST 1992 þ PCRelay:RUNNINGB -> #3 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: 4-DOS(ECHO Imported: 3/18/1992 To: DOUGLAS KITSON Num: 201 Date: 3/16/1992 From: TONY DUNLAP Re: Time: 1:14 pm Subj: JEOPARDY.BTM anyone? Prvt: N Read: N > Jeopardy is great Tony! > Got any other tunes in .BTM format? I'd love to see (hear) some > more! Ask your kids what this one is. BEEP 392 8 522 6 392 2 440 4 349 3 293 8 392 6 329 2 261 3 329 3 293 10 BEEP 392 8 522 6 392 2 440 4 349 3 293 8 392 6 329 2 261 3 249 3 261 10 and this one's not real good but I think it's recognizable beep 208 2 248 3 19 2 277 3 19 8 415 3 19 6 370 2 349 3 19 2 277 3 19 2 415 3 beep 19 6 370 2 349 3 19 2 277 3 19 2 208 3 19 2 277 3 beep 19 2 349 3 19 2 277 2 19 1 311 3 19 2 beep 208 2 248 3 19 2 277 3 19 8 415 3 19 6 370 2 349 3 19 2 277 3 19 2 415 3 beep 19 6 370 2 349 3 19 2 277 3 19 2 392 3 19 2 311 2 19 1 415 3 19 12 beep 208 2 248 3 19 2 277 3 19 8 415 3 19 6 370 2 349 3 19 2 277 3 19 2 415 3 beep 19 6 370 2 349 3 19 2 277 3 19 2 208 3 19 2 277 3 beep 19 2 349 3 19 2 277 2 19 1 311 3 19 2 beep 208 2 248 3 19 2 277 3 19 8 415 3 19 6 370 2 349 3 19 2 277 3 19 2 415 3 beep 19 6 370 2 349 3 19 2 277 3 19 2 311 3 19 2 262 2 19 1 277 3 19 24 beep 466 10 440 2 466 4 19 1 415 8 19 24 beep 466 10 440 2 466 4 19 1 415 8 19 24 beep 466 10 440 2 466 4 19 1 415 8 19 15 beep 415 2 392 3 19 2 311 3 19 2 349 3 19 2 392 2 19 1 415 3 19 16 beep 208 2 248 3 19 2 277 3 19 8 415 3 19 6 370 2 349 3 19 2 277 3 19 2 415 3 beep 19 6 370 2 349 3 19 2 277 3 19 2 208 3 19 2 277 3 beep 19 2 349 3 19 2 277 2 19 1 311 3 19 2 beep 208 2 248 3 19 2 277 3 19 8 415 3 19 6 370 2 349 3 19 2 277 3 19 2 415 3 beep 19 6 370 2 349 3 19 2 277 3 19 2 311 3 19 2 262 2 19 1 277 3 19 16 beep 208 2 248 3 19 2 277 3 19 8 415 3 19 6 370 2 349 3 19 2 277 3 19 2 415 3 beep 19 6 370 2 349 3 19 2 277 3 19 2 208 3 19 2 277 3 beep 19 2 349 3 19 2 277 2 19 1 311 3 19 2 beep 208 2 248 3 19 2 277 3 19 8 415 3 19 6 370 2 349 3 19 2 277 3 19 2 415 3 beep 19 6 370 2 349 3 19 2 277 3 19 2 311 3 19 2 262 2 19 1 277 3 Later --- * Origin: ODOT District 9 (1:2220/30) ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 3/19/1992 To: ISAIAH LADERMAN Num: 11923 Date: 3/17/1992 From: ROBERT SOLOMON Re: 0 Time: 6:35 pm Subj: LCD Prvt: N Read: N IL>Is there a facility in 4DOS that is similar to Ledbetters LCD, which IL>automatically jumps to the proper path and subdirectory when given IL>part of a subdirectory name? Not that I know of, but PCMagazine just published a batch file that can do this, called 2.bat. @ECHO OFF FOR %%h IN (a A b B c C d D e E) DO IF (%1) == (%%h) %%h: REM FOR %%h IN (f F g G) DO IF (%1) == (%%h) %%h: FOR %%h IN (a A b B c C d D e E) DO IF (%1) == (%%h) SHIFT REM FOR %%h IN (f F g G) DO IF (%1) == (%%h) SHIFT IF NOT EXIST %1\NUL CD \ FOR %%f IN (%1 %2 %3 %4 %5 %6 %7 %8 %9) DO CD %%f Good luck PCRelay:MOONDOG -> #35 RelayNet (tm) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/20/1992 To: ALL Num: 249 Date: 3/17/1992 From: DARRYL GREGORASH Re: Time: 9:23 pm Subj: DOS 5: boot from a RAM dr Prvt: N Read: N The install command in DOS 5 will allow you to boot from a RAM drive. All you need to do is make up a self-extracting archive file (that will be faster than using the archive program) which contains 4DOS.COM, 4DOS.INI and autoexec.bat, plus any other 4DOS config files (4START, 4EXIT, etc) you will want to use. If you use ARJ with the "include drive and path" option (-jf1 ??), all necessary directories will be created during extraction. Just make sure to specify the RAM drive as the source when you create the archive. Suppose you have created 4AUTO.EXE as this self-extractor, and placed it in C:\, and that E: is your RAM drive. Then, in config.sys, include these lines: device=ramdrive.sys INSTALL=4AUTO.EXE shell=e:\4dos.com e:\ @e:\4dos.ini DOS will whine that 4AUTO does not stay resident, but ignore the error message -- all that is saying is that the program did not stay resident. --- GEcho/beta * Origin: if not %@eval[2+2] eq 4 echo !@#@#$^& (1:140/86) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/20/1992 To: DAVID POWERS Num: 224 Date: 3/17/1992 From: KEVIN COATES Re: Time: 3:17 am Subj: Help! Prvt: N Read: N DP>Hi, DP>>The BBS backup run at midnight creates two files, BBS.ARJ and MSG.ARJ. DP>>I want to rename them with the prior day embeded in the name, as thats DP>>the day the data was created (eg. Bbs.arj --> SunBbs.arj). Is this DP>>the most efficient way? DP>> If %_dow% eq Mon set bkuday=Sun DP>> If %_dow% eq Tue set bkuday=Mon DP>> " " " " " etc..... DP>> Rename Bbs.arj %bkuday%Bbs.arj DP>Try this, all on one line: DP> set bkuday=%@substr[SunMonTueWedThuFriSat,... DP> %@index[MonTueWedThuFriSatSun,%_dow],3] Thanks for the reply David. I was looking in the manual to better understand whats going on, but it isn't particularly descriptive concerning the @index command. Would you mind elaborating? Thanks, Kevin * OLX 2.1 TD * -=:[Kevin]:=- [Entered on at <07:15am>] --- Maximus 2.00 * Origin: The KBC BBS * Dewitt, Ny * (315)446-4153 (1:2608/10) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/20/1992 To: JOE RECKER Num: 244 Date: 3/17/1992 From: KEES BEEFTINK Re: Time: 4:16 pm Subj: Help! Prvt: N Read: N Hallo Joe, Howdy Joe! RS> In a msg dated , Joe Recker writes to Kevin Coates: JR>> if %_date=01-01-92 call monthly.btm RS> wouldn't RS> if "%@substr[%_date,3,2]" EQ "01" call monthly.btm RS> work better? Probably, but I think that iff "%@substr[%_date,1,2]" NE lastmonth then do set lastmonth="%@substr[%_date,1,2]" call monthly.btm endiff is a safer procedure. It works also when for some reason the first day of a month was skipped. This could happen by loss of the systemdate or a breakdown of the system. Regards, Kees --- GEcho/beta * Origin: Wie weet waar wammes waggel woont? (FidoNet 2:512/222.7) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/20/1992 To: KEVIN COATES Num: 265 Date: 3/18/1992 From: DAVID POWERS Re: Time: 8:28 am Subj: Help! Prvt: N Read: N Hi, >Thanks for the reply David. I was looking in the manual to better >understand whats going on, but it isn't particularly descriptive >concerning the @index command. Would you mind elaborating? Oh, sure, glad to help. Since @index returns the first position (there may be others, but you have to check for each of them) of string2 in string1, in: @index[string1,string2] if you surround string2 with some kind of delimiter (I use spaces, it's easy to read), you can use @index to match a unique string against a set of strings. So that: if %@index[ label1 label2 label3 , %1 ] ne -1 goto %1 If you enter "label1" as the first parameter, @index will return 1, the position of %1 in the larger string, and the Goto will execute. For the day-checking thing (the full strings are ...'s to get it on one line this time), set bkuday=%@substr[Sun...Sat,%@index[Mon...Sun,%_dow],3] @index returns the position of the day of week in a week starting on Monday (it isn't case sensitive, the caps are there for easy reading). @substr takes that number and from the week starting on *Sunday* pulls three chars at that position. If %_dow is Sat, the @index would return 15, and %bkuday would be set to chars 15-17, "Fri", of the Sun-Sat string. * Koala 1.5 * IN MEMORIAM: OPUS/LIMEKILLER '84 --- TosScan 1.00 * Origin: Coconino County BBS *415-861-8290* San Francisco, CA (1:125/28) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/20/1992 To: FLOYD DRENNON Num: 248 Date: 3/17/1992 From: DARRYL GREGORASH Re: Time: 9:13 pm Subj: Why Prvt: N Read: N > for %a in (*.pkt *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.su?) > do (if exist %a move %a f:\mail >&> NUL) 4DOS insists on echoing a "file not found" error from the "for" command whenever one of the files does not exist. Your redirection applies to the "if exist" command, not the "for". You can accomplish the same thing, in fewer characters, and avoid the error message: for %a in (pkt mo tu we th fr sa su) ( if exist *.%a* move *.%a* f:\mail) --- GEcho/beta * Origin: if not %@eval[2+2] eq 4 echo !@#@#$^& (1:140/86) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/23/1992 To: DAVID POWERS Num: 321 Date: 3/21/1992 From: JACK STEIN Re: Time: 10:16 am Subj: Help! Prvt: N Read: N DP>The BBS backup run at midnight creates two files, BBS.ARJ and MSG.ARJ. DP>I want to rename them with the prior day embeded in the name, as thats DP>the day the data was created (eg. Bbs.arj --> SunBbs.arj). Is this DP>the most efficient way? DP>>> If %_dow% eq Mon set bkuday=Sun DP>>> If %_dow% eq Tue set bkuday=Mon DP>>> " " " " " etc..... DP>>> Rename Bbs.arj %bkuday%Bbs.arj Instead of showing the day of the week, how about showing the date as the filename with something like this: set tday=%@SUBSTR[%_DATE,0,2,]%@eval[%@SUBSTR[%_DATE,3,2] -1 ] %@substr[%_DATE,6,2] Now you have a variable "%tday" set to yesterdays date. If it's March 31 then tday will be equal to "033092". The problem with this is on April 1st, tday will equal "040092". I reckon you could fuss with that and work around it if you wanted. Now, BEFORE you pack up yesterdays log, rename it: REN BBS.LOG %tday.bbs REN MSG.LOG %tday.msg Now add the files to the archieve and you will have all your logs in one archeive dated correctly and identified by the extension. I know this isn't quite what you asked but what the heck, it's the thought that count's Jack ... TANSTAAFL --- Via Silver Xpress V2.28 * Origin: Jack's Free Lunch Allison Park, Pa. 412-492-0822 (1:129/171) 1) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/24/1992 To: GEORGE TRACY Num: 359 Date: 3/21/1992 From: DARRYL GREGORASH Re: Time: 10:57 am Subj: DOS 5: boot from a RAM dr Prvt: N Read: N [4DOS booted to a RAM drive] > I then made a btm file called mk4auto.btm > del c:\4dos\4auto.exe > arj a -jf -je1 c:\4dos\4auto g:\4dos\*.* Excellent idea; I do not know if the arj Update command will update a self extractor, but I think it should. If so, then you could also replace the BTM with an alias: alias mk4*auto arj u -jf -je1 c:\4dos\4auto g:\4dos\*.* --- GEcho/beta * Origin: if not (%@eval[2+2]) eq (4) echo !@#@#$)& (1:140/86) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/24/1992 To: ALL Num: 355 Date: 3/21/1992 From: TONY DUNLAP Re: Time: 5:09 pm Subj: OVER.BTM /1 Prvt: N Read: N On the lines not beginning with "beep", insert 1 space then append it to the previous line. gosub part1 gosub part2 gosub part1 quit :part1 beep 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 beep 523 1 1046 1 523 1 1046 1 523 1 1046 1 523 1 1046 1 523 1 1046 1 523 1 1046 1 523 1 1046 1 523 1 1046 1 beep 494 1 988 1 494 1 988 1 494 1 988 1 494 1 988 1 beep 392 1 784 1 392 1 784 1 beep 440 1 880 1 440 1 880 1 beep 494 1 988 1 494 1 988 1 494 1 988 1 494 1 988 1 beep 523 1 1046 1 523 1 1046 1 523 1 1046 1 523 1 1046 1 523 1 1046 1 523 1 1046 1 523 1 1046 1 523 1 1046 1 beep 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 beep 440 1 880 1 440 1 880 1 440 1 880 1 440 1 880 1 440 1 880 1 440 1 880 1 440 1 880 1 440 1 880 1 beep 392 1 784 1 392 1 784 1 392 1 784 1 392 1 784 1 392 1 784 1 392 1 784 1 392 1 784 1 392 1 784 1 392 1 784 1 392 1 784 1 392 1 784 1 392 1 784 1 beep 247 1 494 1 247 1 494 1 247 1 494 1 247 1 494 1 beep 220 1 440 1 220 1 440 1 220 1 440 1 220 1 440 1 220 1 440 1 220 1 440 1 220 1 440 1 220 1 440 1 beep 349 1 698 1 349 1 698 1 349 1 698 1 349 1 698 1 349 1 698 1 349 1 698 1 349 1 698 1 349 1 698 1 beep 330 1 660 1 330 1 660 1 330 1 660 1 330 1 660 1 beep 262 1 523 1 262 1 523 1 beep 294 1 588 1 294 1 588 1 beep 330 1 660 1 330 1 660 1 330 1 660 1 330 1 660 1 beep 349 1 698 1 349 1 698 1 349 1 698 1 349 1 698 1 beep 294 1 588 1 294 1 588 1 294 1 588 1 294 1 588 1 beep 247 1 494 1 247 1 494 1 beep 262 1 523 1 262 1 523 1 beep 294 1 588 1 294 1 588 1 294 1 588 1 294 1 588 1 beep 330 1 660 1 330 1 660 1 330 1 660 1 330 1 660 1 beep 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 262 1 523 1 return To be concluded in the next message. --- * Origin: DISCOVER (1:2220/30.1) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/24/1992 To: ALL Num: 356 Date: 3/21/1992 From: TONY DUNLAP Re: Time: 5:10 pm Subj: OVER.BTM /2 Prvt: N Read: N continued from previous message. :part2 beep 19 2 392 1 784 1 392 1 784 1 330 1 660 1 330 1 660 1 beep 392 1 784 1 392 1 784 1 330 1 660 1 330 1 660 1 beep 392 1 784 1 392 1 784 1 330 1 660 1 330 1 660 1 beep 392 1 784 1 392 1 784 1 330 1 660 1 330 1 660 1 beep 392 1 784 1 392 1 784 1 349 1 698 1 349 1 698 1 beep 392 1 784 1 392 1 784 1 349 1 698 1 349 1 698 1 beep 392 1 784 1 392 1 784 1 349 1 698 1 349 1 698 1 beep 392 1 784 1 392 1 784 1 349 1 698 1 349 1 698 1 beep 392 1 784 1 392 1 784 1 beep 440 1 880 1 440 1 880 1 440 1 880 1 440 1 880 1 beep 494 1 988 1 494 1 988 1 494 1 988 1 494 1 988 1 494 1 988 1 494 1 988 1 494 1 988 1 494 1 988 1 494 1 988 1 494 1 988 1 beep 19 2 392 1 784 1 392 1 784 1 330 1 660 1 330 1 660 1 beep 392 1 784 1 392 1 784 1 330 1 660 1 330 1 660 1 beep 392 1 784 1 392 1 784 1 330 1 660 1 330 1 660 1 beep 392 1 784 1 392 1 784 1 330 1 660 1 330 1 660 1 beep 392 1 784 1 392 1 784 1 370 1 740 1 370 1 740 1 beep 440 1 880 1 440 1 880 1 370 1 740 1 370 1 740 1 beep 440 1 880 1 440 1 880 1 370 1 740 1 370 1 740 1 beep 440 1 880 1 440 1 880 1 370 1 740 1 370 1 740 1 beep 440 1 880 1 440 1 880 beep 494 1 988 1 494 1 988 1 494 1 988 1 494 1 988 1 494 1 988 1 494 1 988 1 494 1 988 1 494 1 988 1 beep 523 1 1046 1 523 1 1046 1 523 1 1046 1 523 1 1046 1 beep 587 1 1175 1 587 1 1175 1 587 1 1175 1 587 1 1175 1 587 1 1175 1 587 1 1175 1 587 1 1175 1 587 1 1175 1 587 1 1175 1 587 1 1175 1 587 1 1175 1 587 1 1175 1 return End of OVER.BTM Enjoy --- * Origin: DISCOVER (1:2220/30.1) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/25/1992 To: TOM RAWSON Num: 366 Date: 3/23/1992 From: DAVID POWERS Re: Time: 10:45 am Subj: New internal variables? Prvt: N Read: N Hi Tom, I recently discovered I could do this: set _min=`%@substr[%_time,3,2]` set _hour=`%@substr[%_time,0,2]` set _day=`%@substr[%_date,3,2]` set _mon=`%@substr[%_date,0,2]` (%_year is possible but I wouldn't use it) and have pseudo-internal variables. Is there any chance that those four (or five) might be included in an upcoming version? This isn't really a suggestion, since this works fine; but do you have it planned? * Koala 1.5 * Where does the dream end and reality begin? --- TosScan 1.00 * Origin: Coconino County BBS *415-861-8290* San Francisco, CA (1:125/28) ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 3/26/1992 To: LOREN OLSON Num: 11945 Date: 3/20/1992 From: DAVE LEMIRE Re: 11151 Time: 7:10 am Subj: ALIASES AND MOR ALIASES Prvt: N Read: N LO> ME TOO!!!!! Before long I will be 4dos Literate!!!!! Now, I played > with list and select last night. Not exactly what I wanted but close. > Buergs List allows you to go into sub dir's and select files, just by > using the return key. Gee, I wonder if they could put that in the next > version of 4dos, (hint only)? Also played with the tab key and sub > dir's last night. Now I can get rid of my change dir program!!! Gee, > Don this is fun!!!! Hi Loren, long time no electrons :-) I'm a long time 4DOS fan (a beta tester, in fact) -- glad to see you're discovering its virtues. Knowing Rex's and Tom's philosphy, don't expect to see Buerg's LIST duplicated in 4DOS. I suggest you check out a copy of ACD and combine it with the following 4DOS alias -- together they make the most effective directory changer I know: CD=`iff "%1"=="" then^ACD *^elseiff isdir %1 .OR. "%1"="-" then^*cd %1^else ACD %&^endiff (all on one line of course). With this approach, the ACD program is only invoked if needed, and the 4DOS "cd -" syntax to change back to the last directory remains available. Have Fun. Dave Lemire --- þ OLX 2.2 þ Resistance Is Useless! (If < 1 ohm) þ KMail 2.91A 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: 4-DOS(ECHO Imported: 3/26/1992 To: DAVE DOCKUS Num: 373 Date: 3/24/1992 From: JEFFREY BOYD Re: Time: 6:30 am Subj: 4DOS w/ shez Prvt: N Read: N Hello Dave! In a msg of <21 Mar 92>, Dave Dockus writes to All : DD> Anyone out there running 4DOS with Shez and using the internal list DD> command in 4dos through shez. Your help would be appreciated... I've forgotten who to give the credit to for this, but here goes. You'll need PCMag's BAT2EXE program. Create a one line .BAT file using this: DRIVE:\PATH TO 4DOS\4DOS.COM /C LIST %1 Then run BAT2EXE on the .BAT file, reconfigure SHEZ to use it, and VOILA! I've been using it here for about eight months. Jeffrey --- GEcho/beta * Origin: Gravity is a myth... The earth sucks (1:3622/801) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/29/1992 To: JC CRANFILL Num: 430 Date: 3/27/1992 From: GEORGE TRACY Re: Time: 5:50 pm Subj: Dos 5: boot from a ram dr Prvt: N Read: N > I would appreciate it if you would repost your system > and the tweaks you have made. I'll put the repost at the end. Darryl Gregorash get's credit for the concept. > BTW, I do operate primarily from DESQview, in > suggestions in that regard would be appreciated (ie, > could that be sped up as well?) Me too. DV2.41 and QEMM 6.01 and no problems here. No tweaking is necessary. I made a 4DOS subdirectry on drive G, my ram drive. I moved these files into it changing any path names where appropriate: 4dos.com 4dos.hlp 4dos.ini 4exit.btm 4help.exe 4start.btm aliases history I then made an alias called mk4auto (thanks DG) mk4*auto del c:\4dos\4auto.exe ^ ARJ a -jf -je1 c:\4dos\4auto G:\4DOS\*.* The reason for the alias is so that if I need to make a change to any of the files on the ram drive the 4AUTO.EXE file on the hard drive can easily be regenerated. From config.sys 1: DEVICE=C:\UTILS\XDISK.SYS /B8192 /D512 2: DEVICE=C:\UTILS\RAMDRIVE.SYS parm1 parm2 ... 3: INSTALL=C:\4DOS\4AUTO.EXE 4: SHELL=G:\4DOS\4DOS.COM G:\4DOS @G:\4DOS\4DOS.INI Take your pick of either line 1 or 2 and optimize the driver first. You will need both lines 3 and 4. I use line 1 because the XDISK driver allows ram drives larger than 4 megs and is DV and QEMM compatible. Line 3 gives me an config error at boot up, but I just ignore it as it does not hurt anything. Works like a charm and it freed up about 150 k to boot. Press F1 and the HD light does not come on. Aliases and history are loaded with out accessing the hard drive either. --- * Origin: The Orphanage, Statesville, NC (704)873-2058 *DS+* (1:379/1107.1) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/29/1992 To: JC CRANFILL Num: 433 Date: 3/27/1992 From: DARRYL GREGORASH Re: Time: 10:45 am Subj: Dos 5: boot from a ram dr Prvt: N Read: N > Unfortunately I lost the beginning of this thread but am > very interested in the boot from ramdisk idea (I also run > 4dos). I made up an ARJ self-extracting file, with the following files in it: I:4DOS.COM I:4DOS.INI Note the paths stored in the file. Actual drives/paths will vary, depending on your system configuration. I believe the command line I used (ARJ 2.30) was: arj a -je -jf -y d:\4dos40\4exec i:\4dos*.* (je says create self extractor, jf says store full drive/path with the filename, y is to avoid that silly question asking me to confirm that I really do wish to do this). Note that you can have as many files in your archive as you want, or as space will allow, including stuff in subdirectories, including empty subdirectories (there is a switch to include empty subdirectories in the archive). If you already have such an archive, you can convert it to self-extractor by running arj y -je In CONFIG.SYS, add the following DOS 5 INSTALL command; install=d:\4dos40\4exec.exe -y (-y says to assume es to all queries, not sure if that is really needed). DOS will complain, since nothing stays resident, but you can ignore that -- DOS is not smart. The SHELL line then reads: SHELL=i:\4DOS.COM i:\ @i:\4dos.ini I -believe- all the information here is necessary, since i: is definitely not the boot drive (boot drive equals drive from which DOS kernel, ie. IO.SYS and MSDOS.SYS, were loaded, which will normally be C:) --- GEcho/beta * Origin: if not (%@eval[2+2]) eq (4) echo !@#@#$)& (1:140/86) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/29/1992 To: ALAN POWELL Num: 429 Date: 3/27/1992 From: KRIS LEWIS Re: Time: 6:06 am Subj: INT EXIT CODE "4095"9 Prvt: N Read: N > Have also found that the internal 4DOS command QUIT will produce the same > exit code in .BTMs, .BATs _and_ ALIASES. This isn't very useful when you > need to know the true result upon exit. QUIT will have to avoided in such > cases. Hmmmm ... What about: Doit (some program that generates a code you want returned) Quit %? using 4dos' ability to grab the errorlevel, then quit with that errorlevel. Seems simple to me, and it works. K --- JMail * Origin: * Trader's World 619-BUG-TRAX * (1:202/613) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/29/1992 To: TONY DUNLAP Num: 406 Date: 3/23/1992 From: RON FABRE Re: Time: 11:57 am Subj: JEOPARDY.BTM anyone? Prvt: N Read: N While we're on the subject, what about this one my wife helped me punch in. beep 392 4 392 8 440 8 330 8 392 8 440 8 392 4 440 4 beep 440 4 392 4 330 8 392 4 440 8 330 4 392 8 440 4 beep 523 4 523 4 440 4 523 8 587 8 659 8 587 20 19 8 beep 523 4 523 4 523 8 523 20 19 8 19 8 392 8 392 8 beep 440 8 330 8 392 8 440 8 392 4 440 4 440 4 392 4 beep 330 8 392 4 440 8 330 4 392 8 440 4 523 4 523 4 beep 440 4 523 8 587 8 659 8 587 20 19 8 523 4 523 4 beep 523 8 523 16 19 8 19 8 494 4 494 4 494 4 494 4 beep 494 8 494 8 494 4 494 4 494 4 494 4 494 8 554 8 beep 494 4 494 4 494 4 494 4 494 8 587 8 494 4 494 4 beep 494 4 494 4 494 8 622 8 494 4 494 4 494 4 494 4 beep 494 8 659 8 494 4 494 4 494 4 466 4 494 4 466 4 beep 494 8 330 4 330 4 330 4 156 4 330 8 330 4 330 4 beep 156 8 330 8 392 24 19 8 392 8 392 8 440 8 330 8 beep 392 8 440 8 392 4 440 4 440 4 392 4 330 8 392 4 beep 440 8 330 4 392 8 440 4 523 4 523 4 440 4 523 8 beep 587 8 659 8 587 32 19 8 659 4 587 4 523 8 523 32 Regards... Ron Fabre... [23 Mar 92 11:57:49 AustEST] --- XRS! 5+DV * Origin: Procratination is the assasination of motivation. (RA 3:634/383)  ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/29/1992 To: ALL Num: 407 Date: 3/23/1992 From: RON FABRE Re: Time: 1:17 pm Subj: Music Staff Prvt: N Read: N This should come in handy for anyone who knows anything about music and who wants to create a tune or three for the 4DOS 'beep' command. _ 4DOS v4 music staff. # b ( ) G 1568 1662 1480 +----|/-------------------------------F----1397---1480-------------- | /| E 1318 1244 +--/-+------------------------------D----1174---1244----1108-------- | | |_ C 1046 1108 +-+-/+-\--------------------------B-----988------------932---------- | || | | A 880 932 831 +-Å \+--Å-----------------------G-----784----831-----740------------ | \_|_/ F 698 740 +--\_/------------------------E-----659------------622-------------- D 587 622 554 +--/---\-------------Middle C-----523----554------------------------ | |@ \ . B 494 466 +-@@-----|----------------A-----440----466-----415------------------ | | . G 392 415 370 +--------|--------------F-----349----370---------------------------- | | E 330 311 +--------/------------D-----294----311-----277---------------------- | __/ C 262 277 +-------------------B-----248------------233------------------------ A 220 233 208 By the way, are high bit characters allowed in the 4DOS conference area? I created this staff in 8bit ascii, then had to translate to 7bit to post it in here just to make sure. Regards... Ron Fabre... [23 Mar 92 13:17:43 AustEST] --- XRS! 5+DV * Origin: XRS offline reader...XRlent! (RA 3:634/383)  ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/31/1992 To: STEVE DAVIS Num: 451 Date: 3/28/1992 From: BOB CAMPBELL Re: Time: 10:25 am Subj: an idea... Prvt: N Read: N > But back to the subject. One of my most used utilities > in LCD.EXE, similar to Norton's NCD, but better for the > way I work. Is there any way the feature of being able > to jump to a directory by typing something like LCD TE > to get to \DIR1\DIR2\DIR3\TEMP can be incorporated into here's something i grabbed from this echo awhile back. i use it often. i had to make a very small change to the for loop so that it could handle longer path names but other than that it's the same btm that Stefan Krister submitted. as you can see the original code is commented out. --------------------------- cut here ----------------------------- c: : : Batch for fast changing directories : as a replace for Norton's Change-Directory (NCD) : : Author: : Stefan Krister, 09.11.1991, 2:241/7014.17 (Fidonet) : D-8900 Augsburg, Swabia, Bavaria, Germany : : needings: (MS- or DR-) DOS from 3.xx to 5.0 (6.0), 4DOS 4.0 : directory c:\temp : : Syntax: xcd [-r] [dir] | -? : : -r rescanning all drives from c: to f: (if present) : : dir searches for directory "dir" and changes to it respectvely : shows all directorys matching "dir" : : -? shows syntax : @echo off : : what to do if parameters ... : if %1 == -? goto usage : syntax if %1 == -r gosub scan : scanning if %# gt 0 goto such : searching for "dir" goto anz : show directories :scan : : In this subruotine the drives c: to f: are scanned : and all found directories are sorted and written in : c:\temp\verz.vvv : : If you have more drives, change (d: e: ...) to your needs. : echos scanning drive c: *dir /og /b /s /1 /c /d /ad /f c:\>c:\temp\verz.uso : for %%d in (d: e: f:) do if %@ready[%d] eq 1 ( : echos %d : dir /og /b /s /1 /c /d /ad /f %d\>>c:\temp\verz.uso) for %%d in (d: e: f:) do if %@ready[%d] eq 1 gosub uso goto vvv :uso echos %d *dir /og/b/s/1/c/d/ad/f %d\>>c:\temp\verz.uso return :vvv type c:\temp\verz.uso|sort>c:\temp\verz.vvv del c:\temp\verz.uso>nul shift echo ready ... return :anz : : This part shows c:\temp\verz.vvv in a window. : Your choice goes to variable verz. : If it is a valid directory, chanche to it, : if not, nothing happens. : : : If your window is to small please change the parameters in line : %@select... : if not exist c:\temp\verz.vvv gosub scan set verz=%@select[\temp\verz.vvv,4,5,18,30,change dir] iff isdir %verz then cdd %verz else cdd . endiff goto end :such : : In this part I try to find "dir" : : If I find one -> change to it. : If I find many you get a window. : : If I find nothing -> error : echo searching ... type c:\temp\verz.vvv|find /i "%1">c:\temp\search.vvv iff %@filesize[c:\temp\search.vvv,b] == 0 then echo directory not here goto end elseiff %@lines[c:\temp\search.vvv] == 0 then cdd %@line[c:\temp\search.vvv,0] goto end else set verz=%@select[\temp\search.vvv,4,5,18,30,found directories] endiff iff isdir %verz then cdd %verz else cdd . endiff :end : : : quit :usage : : syntax : text Batch for fast change directory Syntax: xcd [-r] [dir] | -? -r rescanning drives dir searching for "dir" and changing -? syntax endtext quit ---------------------------- cut here ------------------------------- --- OPMED 3.00 * Origin: 4DOS Ver 4 Rev B? leaves command.com in awe (1:119/911.1)  ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 3/31/1992 To: RON FABRE Num: 443 Date: 3/27/1992 From: DOUG SEMLER Re: Time: 10:56 pm Subj: Music Staff Prvt: N Read: N -=> Quoting Ron Fabre to All <=- Your Bass clef is a little off... RF> This should come in handy for anyone who knows anything about music RF> and who wants to create a tune or three for the 4DOS 'beep' command. RF> _ 4DOS v4 music staff. # b RF> ( ) G 1568 1662 1480 RF> +----|/-------------------------------F----1397---1480-------------- RF> | /| E 1318 1244 RF> +--/-+------------------------------D----1174---1244----1108-------- RF> | | |_ C 1046 1108 RF> +-+-/+-\--------------------------B-----988------------932---------- RF> | || | | A 880 932 831 RF> +-Å \+--Å-----------------------G-----784----831-----740------------ RF> | \_|_/ F 698 740 RF> +--\_/------------------------E-----659------------622-------------- RF> D 587 622 554 Middle -C- 523 554 B 494 466 +--/---\------------------A-----440----466-----415------------------ | |@ \ . G 392 415 370 +-@@-----|--------------F-----349----370---------------------------- | | . E 330 311 +--------|------------D-----294----311-----277---------------------- | | C 262 277 +--------/----------B-----248------------233------------------------ | __/ A 220 233 208 +------------------------------------------------------------------- You were close :) ... Mr Worf, fire at Will. Oh, it's you, Bob! Mr Worf, fire at Bob! --- Blue Wave/Max v2.05 [NR] * Origin: Mindcrime BBS - 1-619-426-5754 - CSP/Maximus (1:202/1003.0) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/02/1992 To: ALL Num: 463 Date: 3/28/1992 From: MARC NEIGER Re: Time: 4:58 pm Subj: %@Select[con,...] Prvt: N Read: N Hi All, It seems impossible to use the %@select func on the std input. I wanted to do an interactive cd using dir /AD /B | set d=%@select[con,...] but it doesn't work, so I had to use a temp file. I also encountered some odd behavior. for this temp file I also want to include the "." and ".." if I use echo .>temp echo ..>>temp dir /AD /B>>temp it works but if I use (echo .^Xn.. ^ dir /AD /B)>temp where ^X is the escape char it shows garbles. this one works from the cmd line but not in a batch (btm) Any info would be appreciated. Cheers, Marc --- GoldED 2.31p * Origin: SYNERGY [Toulouse, France] (2:324/101) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/02/1992 To: ALL Num: 498 Date: 3/24/1992 From: RON FABRE Re: Time: 3:11 pm Subj: Another tune... Prvt: N Read: N This is one for your mum, not that I'm being sexist, just 'ageist'. ;-) echos In scrput 5 17 blue on red n beep 392 4 echos old beep 392 8 echos en scrput 3 8 red on blue t beep 440 8 echos days beep 330 8 echos a scrput 3 5 red on blue A beep 392 8 echos glimpse scrput 5 22 blue on red D beep 440 8 echos of scrput 5 38 blue on red l beep 392 4 echos stock scrput 5 41 blue on red F beep 440 4 echos beep 440 4 echos ing scrput 3 14 red on blue G beep 392 4 echos was beep 330 8 echos looked scrput 5 18 blue on red t beep 392 4 echos on beep 440 8 scrput 5 29 blue on red R echos as beep 330 4 scrput 5 27 blue on red y echos some beep 392 8 scrput 5 24 blue on red S echos thing beep 440 4 scrput 5 11 blue on red a echos shock beep 523 4 beep 523 4 scrput 3 13 red on blue _ echo ing, beep 440 4 echos Now beep 523 8 echos heav scrput 3 20 red on blue . beep 587 8 echos en scrput 5 42 blue on red a beep 659 8 echos knows, beep 587 20 scrput 5 28 blue on red _ beep 19 8 echos An beep 523 4 echos y scrput 5 32 blue on red _ beep 523 4 echos thing beep 523 8 echo Goes. beep 523 20 scrput 5 20 blue on red _ beep 19 8 beep 19 8 echos Good beep 392 8 echos auth scrput 5 36 blue on red a beep 392 8 echos ors beep 440 8 scrput 5 7 blue on red a echos too beep 330 8 echos who beep 392 8 scrput 5 26 blue on red b echos once beep 440 8 echos knew beep 392 4 scrput 5 43 blue on red b echos bet beep 440 4 beep 440 4 echos ter scrput 5 23 blue on red O beep 392 4 echos words, beep 330 8 echos now scrput 5 35 blue on red G beep 392 4 echos on beep 440 8 echos ly beep 330 4 scrput 5 13 blue on red e echos use beep 392 8 echos four beep 440 4 scrput 5 45 blue on red e echos let beep 523 4 beep 523 4 echos ter scrput 3 12 red on blue g beep 440 4 echo words scrput 5 10 blue on red l beep 523 8 echos writ beep 587 8 scrput 3 11 red on blue n echos ing beep 659 8 echos prose, scrput 5 16 blue on red i beep 587 20 beep 19 8 echos An beep 523 4 echos y beep 523 4 echos thing scrput 5 14 blue on red d beep 523 8 echo Goes. beep 523 16 scrput 3 7 red on blue y beep 19 8 beep 19 8 scrput 3 16 red on blue e echos The beep 494 4 echos world beep 494 4 beep 494 4 echos has beep 494 4 scrput 5 40 blue on red _ echos gone beep 494 8 echos mad beep 494 8 scrput 3 6 red on blue n echos to beep 494 4 echos day beep 494 4 scrput 5 31 blue on red n beep 494 4 echos And beep 494 4 echos good's scrput 5 8 blue on red n beep 494 8 echos bad beep 554 8 echos to scrput 3 15 red on blue o beep 494 4 echos day, beep 494 4 beep 494 4 scrput 5 19 blue on red o echos And beep 494 4 echos black's beep 494 8 scrput 5 30 blue on red o echos white beep 587 8 echos to beep 494 4 scrput 5 44 blue on red r echo day, beep 494 4 beep 494 4 echos And scrput 5 6 blue on red r beep 494 4 echos day's beep 494 8 echos night scrput 3 17 red on blue s beep 622 8 echos to beep 494 4 echos day, scrput 5 9 blue on red s beep 494 4 beep 494 4 echos When beep 494 4 echos most beep 494 8 echos guys beep 659 8 echos to beep 494 4 echos day beep 494 4 scrput 5 25 blue on red _ beep 494 4 echos that beep 466 4 echos wo beep 494 4 echos men beep 466 4 echos prize beep 494 8 echos to beep 330 4 scrput 5 33 blue on red & echos day, beep 330 4 beep 330 4 echos are beep 156 4 echo just beep 330 8 echos sil beep 330 4 scrput 5 46 blue on red . echos ly beep 330 4 echos gi scrput 3 10 red on blue i beep 156 8 echos go beep 330 8 echo los; beep 392 24 beep 19 8 echos So beep 392 8 echos though beep 392 8 echos I'm beep 440 8 echos not beep 330 8 scrput 5 12 blue on red t echos a beep 392 8 echos great beep 440 8 echos ro beep 392 4 echos manc beep 440 4 scrput 5 15 blue on red _ beep 440 4 echos er beep 392 4 echos I beep 330 8 echos know beep 392 4 echos that scrput 3 18 red on blue . beep 440 8 echos you're beep 330 4 echos bound scrput 5 5 blue on red T beep 392 8 echos to beep 440 4 scrput 3 19 red on blue . echos an beep 523 4 beep 523 4 scrput 5 34 blue on red _ echos swer beep 440 4 echos when beep 523 8 scrput 5 39 blue on red e echo I beep 587 8 echos pro beep 659 8 scrput 5 21 blue on red 4 echos pose beep 587 32 beep 19 8 echos An scrput 3 9 red on blue h beep 659 4 echos y beep 587 4 scrput 5 37 blue on red y echos thing beep 523 8 echos Goes. beep 523 32 Regards... Ron Fabre... [24 Mar 92 15:15:14 AustEST] --- XRS! 5+DV * Origin: I've chosen not to participate in the recession... (RA 3:634/383)  ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/02/1992 To: DARRYL GREGORASH Num: 460 Date: 3/29/1992 From: JC CRANFILL Re: Time: 8:07 am Subj: Dos 5: boot from a ram dr Prvt: N Read: N > Unfortunately I lost the beginning of this thread but am > very interested in the boot from ramdisk idea (I also run > 4dos). DG>I made up an ARJ self-extracting file, with the following files in it: DG>I:4DOS.COM DG>I:4DOS.INI **** these two do not contain a back slash, right? DG>Note the paths stored in the file. Actual drives/paths will vary, >depending on your system configuration. DG>I believe the command line I used (ARJ 2.30) was: DG>arj a -je -jf -y d:\4dos40\4exec i:\4dos*.* ^^^^ wouldn't this be the path where these files reside on the hardrive (ie c:\4dos? DG>(je says create self extractor, jf says store full drive/path with the >filename, y is to avoid that silly question asking me to >confirm that I really do wish to do this). DG>Note that you can have as many files in your archive as you want, or as >space will allow, including stuff in subdirectories, including >empty subdirectories (there is a switch to include empty >subdirectories in the archive). If you already have such an >archive, you can convert it to self-extractor by running What happens if changes are made to the .ini file on the ramdisk. On the next boot, won't the arj file containg the unmodified .ini be loaded? DG>In CONFIG.SYS, add the following DOS 5 INSTALL command; DG>install=d:\4dos40\4exec.exe -y DG>(-y says to assume es to all queries, not sure if that is really >needed). DOS will complain, since nothing stays resident, but >you can ignore that -- DOS is not smart. DG>The SHELL line then reads: DG>SHELL=i:\4DOS.COM i:\ @i:\4dos.ini DG>I -believe- all the information here is necessary, since i: is >definitely not the boot drive (boot drive equals drive from >which DOS kernel, ie. IO.SYS and MSDOS.SYS, were loaded, which >will normally be C:) Thanks. "JCC" * OLX 2.2 * * * *SLMR #495* --- TosScan 1.00 * Origin: T.A.B.B. Tampa's largest Fidonet BBS 813-961-6242 (1:377/6) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/02/1992 To: JC CRANFILL Num: 496 Date: 3/31/1992 From: DARRYL GREGORASH Re: Time: 12:38 am Subj: Dos 5: boot from a ram dr Prvt: N Read: N > DG>I made up an ARJ self-extracting file, > DG>I:4DOS.COM > DG>I:4DOS.INI **** these two do not contain a back slash, right? Well, they didn't when I did a list files with ARJ, but I created the archive with the full path. > DG>I believe the command line I used (ARJ 2.30) was: > DG>arj a -je -jf -y d:\4dos40\4exec i:\4dos*.* > ^^^^ > wouldn't this be the > path on the harddrive? Not at all; the -jf switch creates the archive with full drive and path information stored along with the filename. When you run the .EXE program, the default behaviour is full path specification, with directory creation as necessary. Therefore, you must create the execfile off the ramdrive. > What happens if changes are made to the .ini file on the Then you update the archive; I have not checked the ARJ u command to see if it will work along with the -je switch, but if it does not, then keep an original of the .ARJ file around, update that, and recreate the self-extractor. --- GEcho/beta * Origin: if not (%@eval[2+2]) eq (4) echo !@#@#$)& (1:140/86) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/02/1992 To: ALL Num: 490 Date: 3/27/1992 From: CHRISTOPHE DAVID Re: Time: 10:41 pm Subj: Summer time / Winter time Prvt: N Read: N Just a simple batch for lazy sysops who do not want to change their system clock manually... Run this with the daily maintenance... (Dates valid for Belgium. Check for your country...) **************************************************************************** rem summer time iff (%_date) == (29/03/92) then time %@eval[%@eval[%@substr[%_time,0,2]] + 1]%@substr[%_time,2,6] endiff rem winter time iff (%_date) == (27/09/92) then time %@eval[%@eval[%@substr[%_time,0,2]] - 1]%@substr[%_time,2,6] endiff **************************************************************************** Christophe --- GoldED 2.32.B0316+ * Origin: Greetings from Brussels, Belgium. (2:295/701.0) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/04/1992 To: RON FABRE Num: 533 Date: 4/01/1992 From: BOB CAMPBELL Re: Time: 9:34 am Subj: Another tune... Prvt: N Read: N > echos In > scrput 5 17 blue on red n > beep 392 4 > echos old > beep 392 8 > echos en > scrput 3 8 red on blue t thanks that was great! i have a suggestion, in the future you can save a lot of bytes by replacing reptitive commands and strings with a variable as shown below. setlocal set s1=scrput 13 set s2=scrput 15 set c1=blue on red set c2=red on blue set b=beep set e=echos cls %e In %s2 17 %C1 n %b 392 4 %e old %b 392 8 %e en btw, i had to reposition your message ten lines down and clr the screen in order to read what it said. otherwise it got stepped on by the song. also a lot of message editors can't handle messages of that length. thanks again i thought it was so good, i made your message into a file called "anything.btm" available for download from 119/911.0 --- OPMED 3.00 * Origin: 4DOS Ver 4 Rev B? leaves command.com in awe (1:119/911.1) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/04/1992 To: FABIO FERRERO Num: 545 Date: 4/02/1992 From: JOSEPH GASPARD Re: Time: 7:03 pm Subj: JEOPARDY.BTM anyone? Prvt: N Read: N In a note to Douglas Kitson in 4DOS, Fabio wrote: FF> Try it! Neat! Here's one for ya: beep 1050 5 1000 4 1050 3 1000 3 1050 3 790 3 950 3 830 3 beep 705 10 525 3 670 3 705 3 805 10 525 3 850 3 805 3 850 10 705 4 beep 1050 3 1000 3 1050 3 1000 3 1050 3 790 3 950 3 830 3 beep 705 10 525 3 670 3 705 3 805 10 525 3 850 3 805 3 705 10 beep 805 3 850 3 950 3 1050 10 630 3 1120 3 1050 3 950 10 630 3 1050 3 950 3 beep 850 10 525 4 955 4 850 5 790 15 525 20 beep 1050 5 1000 4 1050 4 1000 4 1050 3 790 3 950 3 830 3 beep 705 10 525 4 670 4 705 4 800 10 525 4 850 5 805 5 705 20 1410 1 )[< Joseph >]( --- * Origin: ROBOCOP!! San Diego, CA (619)299-0351 (Quick 1:202/911) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/04/1992 To: DOUGLAS KITSON Num: 521 Date: 3/24/1992 From: FABIO FERRERO Re: Time: 5:14 pm Subj: JEOPARDY.BTM anyone?n Prvt: N Read: N Friday March 13 1992, Douglas Kitson wrote to Jim Deeds: DK> Thanks for posting this Jim. Have you seen (heard) any others you can DK> post here? ---cut--- beep 262 11 196 4 392 7 262 7 330 7 294 4 330 4 262 7 196 7 262 7 beep 440 7 392 7 330 4 350 4 392 9 294 4 392 13 ---end--- Try it! --- GoldEditor * Origin: 4DOS for the DOS (2:332/407) ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 4/06/1992 To: ALL Num: 12112 Date: 4/02/1992 From: JORJ STRUMOLO Re: 0 Time: 11:38 pm Subj: aliases, anon Prvt: N Read: N Well, haven't seen any good aliases displayed here in a while, soÿÿÿ I'll include a few of my own in hopes of encouraging others. I use lots of odd characters, for different purposes. For one thing, using a single character speeds up the use of keystroke aliases, especially the long ones, which no longer play out on the command line before executing. They also shorten other aliases that depend on them. Some of my aliases (all at-signs replaced by {at}, all Ctrl-X up-arrows replaced by {^X}): ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ¯d pushd ®d popd ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ {at}F2 †{^X}r ; modifies three files: † ¯d C:\Bat^Ÿw^Q ..\Autoexec.bat ..\Config.sys 4dos.ini^®d ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ {at}Alt-A ¦{^X}r ¦ ¯d C:\Bat^Q A.4d Set.4d^unalias *^alias/r A.4d^set/r Set.4d^®d ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ {at}Shift-F2 í{^X}r ; modifies macro & help files for QEdit í ¯d C:\Tek^Ÿw^Q Qconfig.dat Qhelp.txt^®d qec ¯d C:\Tek^CR^Qconfig^Aqa q*.*^®d^w ; installs modified files ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ {at}F4 d2{^X}r ³ d *dir /ogk ; dir {at}F5 d4{^X}r ³ 2 *dir /2vgk ; dir, 2 cols {at}F6 de{^X}r ³ d2 *dir /2voegk ; dir, 2 cols, ext {at}F7 dd{^X}r ³ d4 *dir /4vogk ; dir, 4 cols {at}F8 ds{^X}r ³ da *dir /ogpvk A:\ ; dir, A: drive ³ dd *dir /odg4vk ; dir, date, 4 col ³ de *dir /oeg4vk ; dir, ext, 4 col ³ ds *dir /osg4vk ; dir, size, 4 col ³ dw *dir /ogwvk ; dir, wide ³ dr dir D: ; dir, ramdrive ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ Ÿ fakekey ; a buffer stuffer Ÿw Ÿ {^X}^W ; stuffs a Ctrl-W, turning off wordwrap in QEdit ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ..*.... cd %0\%1 a A: ^cd\ ^w^d2 ; move to A: sw*ap rq %1 !­.!­^rq %2 %1^rq !­.!­ %2 ; swaps 2 filenames ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ {at}Ctrl-V {at}iff %_rows=25 then^50^else^25{^X}r 25 sv k ok^‡ ; the above toggles between 25/50 lines, 50 sv v ok^‡ ; using a tiny utility called SetVideo ; is there some internal way to do this? ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ f ¯d C:\^attrib/s %1 %2 %3 %4>ø_ø^view ø_ø^del/p ø_ø^®d^w ; the above is a file-finder that allows extended wildcards ; and allows the option of retaining the find list, ø_ø ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ l*ist C:\Any\List.com m*ove *move r*en *ren rq ren/q u pkunzip v*iew *list z pkzip ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ s sled %1 %2 %3 %4 %5^aqa %1 %2 %3 %4 %5^‡ q C:\Tek\Q.exe %1 %2 %3 %4 %5^aqa %1 %2 %3 %4 %5^‡ aqa Attrib/Q -A ; Archive bits annoy me, so I always wipe them ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ‡ cls ; various color k ‡ whi on bla bor red ; combinations I w ‡ bla on whi bor yel ; use frequently ckk ‡ cya on bla bor bla ckw ‡ cya on bla bor whi kkc ‡ bla on bla bor cya kwg ‡ bla on whi bor gre wkc ‡ bri whi on bla bor cya wkg ‡ whi on bla bor gre wkk ‡ bri whi on bla bor bla ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ä stuff ; another buffer stuffer, works differently than FakeKey cr ä CR ; stuffs a carriage return î echo. ; makes a blank line ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ And that's enough for one message, no? --- þ SPEED 1.2b #1019 þ Support your local chemist: Invest in ionic bonds. þ PCRelay:IDSVAX -> #82 RelayNet (tm) ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 4/06/1992 To: ALL Num: 12114 Date: 4/02/1992 From: JORJ STRUMOLO Re: 0 Time: 11:42 pm Subj: bundled batches Prvt: N Read: N Sector size (cluster size?) on a hard disk is 2K; files smaller thanÿÿ that waste alot of space. So it's not a bad idea to bundle small batch files together. The general idea: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ echo off goto %1 Goof :Goof beep ^ screen 5 22 What's the arg? : BW, CM, PC, SR, PW ^ Quit :PC ¯d C:\PcPlus\ (various commands) Quit :SR ¯d C:\SR\ (various commands) Quit :BW ¯d C:\SR\ (various commands) Quit [etc, until the file hits the 2K mark, but doesn't pass it] ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ I call the above file .BTM, and call the various parts by hot keys: {at}Alt-W {at} PWr ; my word processor {at}Alt-1 {at} CMr ; a comm program {at}Alt-B {at} BWr ; a mail reader {at}Alt-P {at} PCr ; another comm program {at}Alt-S {at} SRr ; a mail reader --- þ SPEED 1.2b #1019 þ O Oysters come & walk with us, the Walrus did beseech. PCRelay:IDSVAX -> #82 RelayNet (tm) ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 4/06/1992 To: ALL Num: 12113 Date: 4/02/1992 From: JORJ STRUMOLO Re: 0 Time: 11:40 pm Subj: hot-key things Prvt: N Read: N I'm lazy; I don't like typing long lines to change directories.ÿÿÿ Rather, I have a few ways to do it. One is {at}Alt-F dfr ; Directory Freedom, a file manager df ‡^C:\Tek\DF.com %1 %2^‡ Then I simply use arrow keys to pick the directory. If I'm not going to be using the file manager, a similar thing is accomplished by: {at}Alt-V {at}L^‡r ; where L*ist = Vern Buerg's List Or, a less-secondarily-useful, but more clever deal, more 4dos-ish: {at}Alt-D ïr ; pops up a list to select a directory to go to ï=ä DN DN DN DN DN DN DN^cdd %{at}select[C:\Bat\D.4d,2,40,20,60] This part ^ is a buffer stuffer, stuffs in enough Downs to put the select bar in the middle of the list. The list is simply a list of directories on my drive, one to a line: C:\Any thru C:\Zap. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ mn C:\Tek\Mouse off ; deactivates my mouse my ¯d C:\Tek\^Mouse^SetSpeed/p4/fMousePro.fil^®d ; reactivates it pk Pklite -a -b %1^r %1.bak %1.pk vv %&|view/s^‡ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ {at}Alt-L àLr àL bn^cr^C:\View\Lumen^by^w ; program I use as screen filler ; sort of a screen blanker, it bn BurnOut 0 ; requires my real blanker by BurnOut 5000 ; to be turned off, then back on ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ {at}Alt-Z {at}history/f^‡r ; clears history & screen {at}Alt-X {at}exitr ; exists secondary shells --- þ SPEED 1.2b #1019 þ Nothing is as easy as it looks. þ PCRelay:IDSVAX -> #82 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: 4-DOS(ECHO Imported: 4/07/1992 To: ALL Num: 255 Date: 4/01/1992 From: WIM JANSSEN Re: Time: 11:59 pm Subj: BootCtrl.Btm 1/3 Prvt: N Read: N Do you have a HD which has problems with a low temperature? Maybe this will help you when you have such a HardDisk! It check's your disks and reboot's if the disk are not ok. Number of times to reboot and the time to wait can be configured. You can use this Btm in 3 ways: 1. With no parameters (It will use the default values "E" and "10" >BootCtrl 2. 'Drive' as parameter and the default waiting time will be used. >BootCtrl F 3. 'Drive' and 'Time' as parameters >BootCtrl D 20 Note: The wait time in seconds will become: 90,150,250,etc etc ---Begin part [1/3] of BootCtrl.Btm @Rem +----------------------------------------------------+ @Rem | BootCtrl.Btm - V1.0 [4Dos4.0 B1] 1 April 1992 | @Rem | | @Rem | Reboot-Control when your (extra) HD('s) are not Ok | @Rem | | @Rem | By: Wim Janssen Fido: (2:512/32.9) | @Rem +----------------------------------------------------+ SetLocal Log Executing CmdLine=%CmdLine @Rem =========================================== @Rem %MinDrive - Minimum Of Disk On Your System. @Rem =========================================== Iff "%1" NE "" Then Set MinDrive=%@Upper[%1] Else Set MinDrive=E EndIff @Rem ======================================================== @Rem %BootInfo - Path And Name Of Your Boot Information File. @Rem ======================================================== Set BootInfo=C:\Sys\4Dos\Boot.Inf @Rem ========================================================= @Rem %MaxBoot - Maximum Number Of Times Your System Will Boot. @Rem ========================================================= Set MaxBoot=3 @Rem ======================================================== @Rem %BootTime - Number Of Seconds Your System Needs To Boot. @Rem ======================================================== Set BootTime=70 @Rem =================================================================== @Rem Some Second(s) Extra Needed in MaxDiff! When Logging Or Echoing ... @Rem =================================================================== Log | Input %%IO^If "%IO" == "LOG is ON" Set BootTime=%@Eval[%BootTime+15] Echo | Input %%IO^If "%IO" == "ECHO is ON" Set BootTime=%@Eval[%BootTime+5] Iff "%2" NE "" Then Set Fact=%2 Else Set Fact=10 EndIff Set MaxDiff=%@Eval[%BootTime+%@Eval[%MaxBoot*%MaxBoot*%Fact]] ---End part [1/3] of BootCtrl.Btm --- * Origin: Point of "The Ultimate", 31-53-303902/328506 (2:512/32.9) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/07/1992 To: ALL Num: 256 Date: 4/01/1992 From: WIM JANSSEN Re: Time: 11:56 pm Subj: BootCtrl.Btm 2/3 Prvt: N Read: N ---Begin part [2/3] of BootCtrl.Btm :Begin Set DayNum=%@Date[%_Date] If "%DayNum" LE "1" ( Log ERROR! - SystemClock Not Correct! Log %CmdLine Not Executed! Goto Out ) Set SecOfDay=%@Time[%_Time] Set BootNmb=0 Set BootDone=%SecOfDay If Not Exist C:\Sys\4Dos\Boot.Inf Goto ChkDrv Set DayDone=%@Line[%BootInfo,0] Set BootDone=%@Line[%BootInfo,1] Set BootNmb=%@Line[%BootInfo,2] Set BootDiff=%@Eval[%SecOfDay-%BootDone] Log MaxDiff in seconds: %MaxDiff Log BootDiff in seconds: %BootDiff :ChkDrv Echo Checking Minimum Drives On System ... If "%@Ascii[%_LastDisk]" GE "%@Ascii[%MinDrive]" Goto Continue If "%@Ascii[%_LastDisk]" EQ "%@Eval[%@Ascii[%MinDrive]-1]" Goto ColdBoot Goto Out :ColdBoot Log LastDisk is %_LastDisk: If "%BootDiff" EQ "" Set BootDiff=%MaxDiff If "%DayDone" LT "%DayNum" Set BootNmb=0 Set BootNmb=%@Eval[%BootNmb+1] Echo %DayNum >%BootInfo Echo %SecOfDay >>%BootInfo Echo %BootNmb >>%BootInfo If %BootNmb GT %MaxBoot Goto NoSucces If %BootDiff GT %MaxDiff Goto NoTime Cls @Rem ========================================= @Rem DelayTime = (Fact)*2^(BootNmb) second(s)! @Rem ========================================= Set DelayTime=%@Eval[%BootNmb*%Fact+%@Eval[%BootNmb-1]*%BootNmb*%Fact] Echo Your System [LastDisk=%_LastDisk] Is Not OK! Beep 1500 3 1200 2 500 1 ::next on one line! ScrPut 3 0 Bright Blink White On Black Waiting %DelayTime Seconds Before Rebooting The System! Screen 5 0 Inkey /W%DelayTime Reboot Your System? [Y/N] : %%Response If "%Response" == "Y" Goto Boot If "%Response" == "N" Goto Abort :Boot Log Rebooting System! Reboot /C Log Error in 4Dos command: Reboot /C! Goto Out Quit ---End part [2/3] of BootCtrl.Btm --- * Origin: Point of "The Ultimate", 31-53-303902/328506 (2:512/32.9) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/07/1992 To: ALL Num: 258 Date: 4/02/1992 From: WIM JANSSEN Re: Time: 12:00 am Subj: BootCtrl.Btm 2/3 Prvt: N Read: N Ai.. just packed the mail and there is one line that has to be changed! If Not Exist C:\Sys\4Dos\Boot.Inf Goto ChkDrv In: If Not Exist %BootInfo Goto ChkDrv Groetjes, Wim Janssen --- * Origin: Point of "The Ultimate", 31-53-303902/328506 (2:512/32.9) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/07/1992 To: ALL Num: 257 Date: 4/01/1992 From: WIM JANSSEN Re: Time: 11:56 pm Subj: BootCtrl.Btm 3/3 Prvt: N Read: N ---Begin part [3/3] of BootCtrl.Btm :Continue Echo Last(Ram)Drive = %_LastDisk Log Last(Ram)Drive = %_LastDisk If %BootNmb NE 0 Log Rebooting Succesfull! @Rem ============================= @Rem Extra Configuration Here .... @Rem ============================= Goto Out :Abort Echo Aborting Reboot Routine .. Log Aborting Reboot Routine .. Goto NoSucces :NoTime Log An old Boot.Inf File Found? MaxDiff=%MaxDiff LT BootDiff=%BootDiff sec. @Rem ++++++++++++++ LOOP DANGER +++++++++++++++++ @Rem +++++++ Only activate when everything has been checked!!! +++++++++ @Rem +++++++++++++++++++++++++++++++++++++++++++++++++++++ @Rem PS. It will work also (in most/normal cases) without these instructions. @Rem If Exist %BootInfo Del %BootInfo @Rem Log Rebooting System! @Rem Reboot /C @Rem Log Error in 4Dos command: Reboot /C! @Rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ :NoSucces Set BootNmb=%@Eval[%BootNmb-1] Log (%BootNmb x) Rebooting Not Succesfull! @Rem ============================= @Rem Extra Configuration Here .... @Rem ============================= :Out If Exist %BootInfo Del %BootInfo EndLocal --- End part [3/3] of BootCtrl.Btm Groetjes, Wim Janssen --- * Origin: Point of "The Ultimate", 31-53-303902/328506 (2:512/32.9) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/08/1992 To: ALL Num: 264 Date: 4/02/1992 From: RON FABRE Re: Time: 2:30 pm Subj: Another Dumb Dittie Prvt: N Read: N Attach column three under two, then two under one. echos Through echos re beep 494 8 beep 440 8 beep 294 8 echos or echos ear echos a beep 587 8 beep 392 8 beep 262 4 echos leave echos ly echos lize beep 659 8 beep 349 4 beep 294 8 echos it echos morn echos and beep 587 8 beep 392 8 beep 262 8 echos if echos ing echos I beep 494 8 beep 349 8 beep 294 8 echos I echos fog echos can beep 440 8 beep 392 8 beep 330 8 echo please, echos I echos see beep 494 24 beep 349 8 beep 349 24 echos And echos see echos that beep 440 8 beep 330 12 beep 440 8 echos you echos vi echos su beep 349 8 beep 349 8 beep 494 8 echos can echos sions echos i beep 440 8 beep 330 4 beep 440 4 echos do echos of echos cide beep 494 8 beep 349 8 beep 494 8 echos the echos the echos is beep 587 8 beep 330 8 beep 440 8 echos same echos things echos pain beep 659 8 beep 349 8 beep 494 8 echos thing echos to echo less, beep 587 8 beep 330 8 beep 440 8 echos if echos be: beep 19 8 beep 494 8 beep 294 12 echos It echos you beep 19 4 beep 440 8 beep 440 8 echos The echos brings echos please. beep 349 4 beep 494 8 beep 494 24 echo pains echos on beep 330 8 beep 440 4 echos that echos man beep 294 4 beep 494 8 echos are echos y beep 330 8 beep 440 8 echos with echos chang beep 294 8 beep 494 8 echos held echos es, beep 330 8 beep 440 8 echos for echos And beep 294 8 beep 440 8 echos me. echos I beep 262 12 beep 349 8 beep 19 4 echos can echos I beep 440 4 beep 330 4 echos take Regards... Ron Fabre... --- XRS! 5+DV * Origin: Has anyone seen a recession? I can't find it! (RA 3:634/383) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/08/1992 To: ALL Num: 263 Date: 4/02/1992 From: RON FABRE Re: Time: 2:29 pm Subj: Dumb Ditties Prvt: N Read: N I recently uploaded this tune, but apparently it got scrambled at about the halfway mark, so here it is again, but split into three columns. Simply edit and attach column three to the end of column two, and column two to the end of column one. Sorry for any confusion. screen 10 0 echos prose, beep 392 24 echos In beep 587 20 beep 19 8 beep 392 4 beep 19 8 echos So echos old echos An beep 392 8 beep 392 8 beep 523 4 echos though echos en echos y beep 392 8 beep 440 8 beep 523 4 echos I'm echos days echos thing beep 440 8 beep 330 8 beep 523 8 echos not echos a echo Goes. beep 330 8 beep 392 8 beep 523 16 echos a echos glimpse beep 19 8 beep 392 8 beep 440 8 beep 19 8 echos great echos of echos The beep 440 8 beep 392 4 beep 494 4 echos ro echos stock echos world beep 392 4 beep 440 4 beep 494 4 echos manc echos beep 494 4 beep 440 4 beep 440 4 echos has beep 440 4 echos ing beep 494 4 echos er beep 392 4 echos gone beep 392 4 echos was beep 494 8 echos I beep 330 8 echos mad beep 330 8 echos looked beep 494 8 echos know beep 392 4 echos to beep 392 4 echos on beep 494 4 echos that beep 440 8 echos day beep 440 8 echos as beep 494 4 echos you're beep 330 4 beep 494 4 beep 330 4 echos some echos And echos bound beep 392 8 beep 494 4 beep 392 8 echos thing echos good's echos to beep 440 4 beep 494 8 beep 440 4 echos shock echos bad echos an beep 523 4 beep 554 8 beep 523 4 beep 523 4 echos to beep 523 4 echo ing, beep 494 4 echos swer beep 440 4 echos day, beep 440 4 echos Now beep 494 4 echos when beep 523 8 beep 494 4 beep 523 8 echos heav echos And echo I beep 587 8 beep 494 4 beep 587 8 echos en echos black's echos pro beep 659 8 beep 494 8 beep 659 8 echos knows, echos white echos pose beep 587 20 beep 587 8 beep 587 32 beep 19 8 echos to beep 19 8 echos An beep 494 4 echos An beep 523 4 echo day, beep 659 4 echos y beep 494 4 echos y beep 523 4 beep 494 4 beep 587 4 echos thing echos And echos thing beep 523 8 beep 494 4 beep 523 8 echo Goes. echos day's echos Goes. beep 523 20 beep 494 8 beep 523 32 beep 19 8 echos night beep 19 8 beep 622 8 echos Good echos to beep 392 8 beep 494 4 echos auth echos day, beep 392 8 beep 494 4 echos ors beep 494 4 beep 440 8 echos When echos too beep 494 4 beep 330 8 echos most echos who beep 494 8 beep 392 8 echos guys echos once beep 659 8 beep 440 8 echos to echos knew beep 494 4 beep 392 4 echos day echos bet beep 494 4 beep 440 4 beep 494 4 beep 440 4 echos that echos ter beep 466 4 beep 392 4 echos wo echos words, beep 494 4 beep 330 8 echos men echos now beep 466 4 beep 392 4 echos prize echos on beep 494 8 beep 440 8 echos to echos ly beep 330 4 beep 330 4 echos day, echos use beep 330 4 beep 392 8 beep 330 4 echos four echos are beep 440 4 beep 156 4 echos let echo just beep 523 4 beep 330 8 beep 523 4 echos sil echos ter beep 330 4 beep 440 4 echos ly echo words beep 330 4 beep 523 8 echos gi echos writ beep 156 8 beep 587 8 echos go echos ing beep 330 8 beep 659 8 echo los; Regards... Ron Fabre... --- XRS! 5+DV * Origin: I've chosen not to participate in the recession... (RA 3:634/383) ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 4/12/1992 To: ALL Num: 12189 Date: 4/10/1992 From: GREG VAIDMAN Re: 0 Time: 12:20 am Subj: 4OS2 info Prvt: N Read: N ÖÄÄÄÄÄÄÄÄÄ´ on 04-07-92 (22:46), david fox said to dave kalwishky ÃÄÄÄÄÄÄÄÄÄÄ· º Since 4OS2 is an OS/2 program, it's preferable (at least IMHO) to run º º it instead of 4DOS in a penalty box. There are internal things in º º CMD.EXE that don't have any meaning under DOS, so they're not to be º º found in 4DOS either. OTOH, 4OS2 will have these OS/2 specific things. º ÓÄÄÄÄÄÄÄÄ´ and greg vaidman replied on fri, 04-10-1992 at 01:45... ÃÄÄÄÄÄÄÄÄĽ The way I see it ( or should i say IMHO ) you will probably want to use both 4DOS and 4OS2. You would simply run 4OS2 instead of CMD.EXE and 4DOS instead of COMMAND.COM. You don't want to lose the functionality of 4DOS in a DOS box, so you really need both. Important excerpts from the docs for 4OS2 version .95 follow... (Paragraphs which start with quotes are direct excerpts, others are reworded/paraphrased for brevity.) ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ· º The default command separator in 4OS2 is the ampersand [&] and º the default escape character is the caret [^]. ... "In addition to the extended 4DOS redirection options, 4OS2 also the supports the OS/2 (CMD.EXE) syntax "n>" and ">n". ... Pipes are implemented differently; instead of running one command, collecting the output and then running the next command, OS/2 runs both commands simultaneously. Therefore, commands like "echo test | input %%var" will not work because a new process is started for the "input" command and its environment is lost when that process ends. ... "The following internal variables are unique to 4OS2: _PID is the current process ID number. _PPID is the process ID number of the parent process. _SID is the session ID number. _PTYPE is the current OS/2 process type... ... "The following 4DOS internal variables are not available in 4OS2: _ALIAS (because 4OS2 dynamically sizes the alias list). _DV (because DESQView does not run under OS/2). _ENV (because the environment size is adjusted dynamically) _WIN (because Windows does not run in OS/2) ... "The following variable functions are available only in 4OS2: @EXETYPE[filename]: Returns the application type... @FSTYPE[d:]: Returns the file system type for the drive... ... "4OS2 recognizes 5 optional fields on the command line. If you use more than one of these fields, their order is important. The syntax for the commands is [d:\path] [@d:\path\inifile] [/S] [//iniline]... [/C|/K] [command] ... "The following 4DOS.INI directives may not be used in a 4OS2.INI file. These directives are specific to DOS features or limitations which do not exist in OS/2: Alias EnvFree LineInput StackSize ANSI Environment MessageServer Swapping AutoExecPath FineSwap NetwareNames SwapReopen DiskReset FullINT2E Reduce UMBEnvironment DVCleanup HelpOptions ReserveTPA UMBLoad HelpPath UniqueSwapName ... "The following commands are unique to 4OS2: DETACH (start an OS/2 program in detached mode) DPATH (set the search path for data files) KEYS (alternate command to enable/display history... START (start a program in a new session) ... "The following 4DOS commands are not available in 4OS2: BREAK LOADHIGH / LH CTTY SWAPPING KEYSTACK TRUENAME ... "Finally, the /M(aster environment) option is not available in the 4OS2 versions of ESET, SET, and UNSET. ... "A final release of 4OS2, version 1.0, is expected to ship in late April or early May of 1992, after IBM has issued the public GA re- lease of OS/2 2.0 and JP Software has had time to incorporate and test any necessary changes in 4OS2. ... "A bundled package of 4OS2 and 4DOS together is $89; 4OS2 alone is $69. Registered 4DOS users can purchase 4OS2 at a special º discount price of $29. º ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĽ This should help clear up "a lot of stuff"! I hope you all enjoyed it... and I hope it all fit within the line limit of the net! OâîO VàŒëæàï õ õ --- þ OLX 2.1 þ You can't have everything - where would you put it? PCRelay:DATABASE -> #1251 RelayNet (tm) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/12/1992 To: BERNARD SPEIGHT Num: 364 Date: 4/10/1992 From: TOM RAWSON Re: Time: 12:45 am Subj: Keystack with WP 5.15 Prvt: N Read: N BS> "The objective was to invoke WP with a specified document file. In BS> general, the approach was to change directory to the required document BS> directory, and invoke WP (which is on the path) from there. Once BS> inside WP, I wanted Keystack to get a LIST, which is F5, then . BS> "Accordingly, my alias looked like this: BS> ALIAS WJP = `PUSHD^KEYSTACK F5 ENTER^CD C:\WJPSTEXT^WP^POPD` BS> "This did not work. I got a response to F5, followed by a screen BS> display of M (ie Ctrl-M), but no list, implying it never BS> recognised the ENTER. See the KEYSTACK docs, which I believe discuss this specific situation. WP 5.1 needs both the scan code and the ASCII code for enter, combined as 256 * scan code + ASCII code which is 7181. So use KEYSTACK F5 7181. Here's my WP alias that takes two args on the command line and loads them into the two documents: wp=iff %# gt 1 then^keystack @86 @93 "%2" @65 @86^endiff^ e:\wp51\wp.exe %1 %3& ... Tom --- EZPoint V2.1 * Origin: Tom's EZPoint (1:130/29.110)  ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 4/17/1992 To: CHRIS CHEATHAM Num: 12214 Date: 4/12/1992 From: RICK JOSEPH Re: 0 Time: 4:26 am Subj: BATCH FILES Prvt: N Read: N ³ Does anybody know how to set the time in which a batch file will ³execute? If yes leave me a message! Thanks, Chris Cheatham ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Without using a TSR, you'll have to dedicate your system to running a batch file loop until the specified time. Aside from that, the following should do nicely: IF "%1"=="" QUIT :LOOP IF %@SUBSTR[%1,0,5] NE %@SUBSTR[%_TIME,0,5] GOTO LOOP You'll have to be careful of a couple of things.... Make sure that your system time is correct before you run this, and be QUITE sure that you run the batch file with the exact time you want the event to occur. Name the file WAITFOR.BTM and then run it from your "parent" batch file with the time you want the event to occur, like: CALL WAITFOR 02:30 Then, at 2:30 am, whatever instructions are below this line in the batch file will start to execute. Hope you can make some use of this. Later, Rick PCRelay:FILEBANK -> #246 RelayNet (tm) 4.11 The File Bank 619-728-4318 - Clipper Central 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: 4/17/1992 To: HAROLD DRABKIN Num: 12205 Date: 4/12/1992 From: DAVID KUNZ Re: 0 Time: 3:57 pm Subj: DESCRIPT.ION FFILES Prvt: N Read: N HDº I recently ran norton's speed disk to get a fragmentation map. I HDº hadn't bothered to unhide the *.ion files, since I wasn't going to HDº perform an unfragment. Now, this was the first time I've used HDº this program. I saw that it had marked unmovable files with "X". HDº I then viewed the files. The very first ones, as one might guess, HDº were the system files. Then a couple of descript.ion files; The HDº next set was about 1/2 through the drive. All contiguous, all HDº description files. Now, I have lots of subdirectories, with lots HDº of descriptions. Does 4dos actually attempt to cluster them all HDº in one disk location if possible? Most defrag programs won't touch hidden files. I just unhide them with a 4dos batch then defrag and them hide them again. Could do this all in one batch file I guess, but I never got around to it. unhide.btm -- unhides %1 in all directories on the disk pushd \^global /iq if exist %1 for %%FF in (%1) attrib -h %%FF^popd hide.btm -- hides %1 in all directories on the disk pushd \^global /iq if exist %1 for %%FF in (%1) attrib +h %%FF^popd Hope that this helps! David Kunz --- þ MegaReader : No program is idiot-proof, idiots are ingenious! PCRelay:WTHREEJP -> #75 RelayNet (tm)  ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 4/17/1992 To: KINLEY BRAUER Num: 12239 Date: 4/15/1992 From: DENNIS MCCUNNEY Re: 0 Time: 7:45 pm Subj: MORE ALIASES Prvt: N Read: N KB> I still think the best rapid change-directory alias (with LCD in this KB> case, but the others will do just as well) is one a few of us worked KB> out a while ago. It is: KB> KB> CD=IFF "%1"=="" THEN^CDD C:\^ELSEIFF ISDIR %1 THEN^CDD %1^ELSE KB> C:\LCD %1^ENDIFF^CLS I use a different variant that uses pushd and LCD, and handles the case where LCD needs to rescan the directory structure. The LCD alias is formatted for clarity below, but should be all on one line with ^ seperating the clauses. CD=lcd LCD=pushd iff "%1" eq "" then *lcd elif "%@substr[%1,3,-4]" eq "scan" then *lcd %1 else *lcd %& /m end PCRelay:RUNNINGB -> #3 RelayNet (tm) 4.11 Running Board 2126541349/DS/2125191791/HST/ ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 4/17/1992 To: LOREN OLSON Num: 12238 Date: 4/15/1992 From: DENNIS MCCUNNEY Re: 0 Time: 7:45 pm Subj: SELECT Prvt: N Read: N LO> I am finding so many uses for the select command now. But, I would to LO> find a way to assign the select command to different keys. I suspect LO> this can be done. In this way I could use copy, delete, move and so on LO> in a much easier fashion. You mean like this? _=%@select[%cfg\keys.hlp,1,1,23,30, Key Definitions ] This alias creates a popup help screen for keys I have defined in 4DOS. It invokes the SELECT varaible function, and uses a help file stored in a directory called \usr\cfg, which is referred to by the %cfg variable. This alias is then assigned to Alt-H, as "@alt-h=_r". (I could have simply assigned the alias to Alt-H, but this method avoids stuffing it in my history file and makes for a cleaner screen display.) ÚÄÄÄÄÄ Key Definitions ÄÄÄÄÄÄ¿ When Alt-H is pressed, this ³ F2 Flix ³ display results. Changes are simple, ³ F3 Memory ³ since the source text is in a simple ³ F4 Cache ³ ASCII file. ³ F5 Mapmem ³ ³ F6 Vtree ³ ³ F7 Kb ³ ³ Alt-F1 Dir /w ³ ³ Alt-A Edit aliases ³ ³ Alt-B Blue Wave ³ ³ Alt-C Cls ³ ³ Alt-D DF ³ ³ Alt-E Edit ³ ³ Alt-F Free ³ ³ Alt-H This listing ³ ³ Alt-L List ³ ³ Alt-Q Qedit ³ ³ Alt-S Session Manager ³ ³ Alt-T Telix ³ ³ Alt-W WP ³ ³ Alt-X Exit ³ ³ Ctrl-PgUp Back ³ ÀÄÄÄÄÄÄÄÄÄ  or Esc ÄÄÄÄÄÄÙ PCRelay:RUNNINGB -> #3 RelayNet (tm) 4.11 Running Board 2126541349/DS/2125191791/HST/ 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: 4/18/1992 To: ROBERT REED Num: 12258 Date: 4/16/1992 From: DAVID KUNZ Re: 0 Time: 8:38 pm Subj: SELECT Prvt: N Read: N RRº I use the select command to copy,del,move,run,attrib,unzip,zip RRº ex. sdel=select del (%1) RRº hope i could help, write back I stole this idea for this from someone else and modified it: DO=iff "%2"=="" then select %1 (*.*)^else select %1 (%2) %3&^endiff To use it: "do del" is the same as "select del (*.*)"; do del *.bak is the same as your sdel *.bak; do copy a: b: copies selected files from a to b, etc. David Kunz --- þ MegaMail : Keep American Beautiful... TRASH a lawyer! 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: 4-DOS(ECHO Imported: 4/18/1992 To: ALL Num: 506 Date: 4/13/1992 From: TONY DUNLAP Re: Time: 9:35 am Subj: Menu.btm Update Prvt: N Read: N I have recently updated my MENU.BTM to work faster under 4dos 4.0 For those not familiar with it it offers: Single key launching of your programs. Optional password protection. On-screen clock and diskspace and memory free A neat screen blanker. The ability to run programs at a certain time. 07-24-91 -- Initial release 10-09-91 -- Fixed bug in password sub that would let user run the program by putting a space in the password field. 11-14-91 -- Fixed an error in the blanking that showed up under 4DOS 4.00. 04-11-92 -- Rearanged some of the code to speed it up and reduced the size by replacing 3.xx commands with 4.xx ones. After removing comments BTM is less than 4000 bytes. Now requires 4DOS 4.xx The latest version will always be available for F'req (ONLY!) at 1:2220/30 as 4MENU.ARJ (currently 3283 bytes) If you need a high speed source or want to log on and download it, it is also available at the OUTER LIMITS, 1:2220/10 1-614-772-5520 --- * Origin: ODOT District 9 (1:2220/30) ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 4/20/1992 To: DENNIS MCCUNNEY Num: 12288 Date: 4/17/1992 From: KINLEY BRAUER Re: 0 Time: 8:49 am Subj: MORE ALIASES Prvt: N Read: N DM>>KB> CD=IFF "%1"=="" THEN^CDD C:\^ELSEIFF ISDIR %1 THEN^CDD %1^ELSE DM>>KB> C:\LCD %1^ENDIFF^CLS DM>> I use a different variant that uses pushd and LCD, and handles the DM>>case where LCD needs to rescan the directory structure. The LCD alias DM>>is formatted for clarity below, but should be all on one line with ^ DM>>seperating the clauses. DM>>CD=lcd DM>>LCD=pushd DM>> iff "%1" eq "" then DM>> *lcd DM>> elif "% substr[%1,3,-4]" eq "scan" then DM>> *lcd %1 DM>> else DM>> *lcd %& /m DM>> end Nice. Mine allows me to move around to drives A, B, and D, and get back to my root in C easily. But I also have two other LCD aliases: LCD=IFF "%1"=="" THEN *LCD *^CLS^ELSE *LCD %1&^ENDIFF LCDSCAN=PUSHD^\LCD /QSCAN^POPD It's always nice to be able to look at the directory list with a plain old LCD! That's why I have the first; the second is a minor shortcut to rescanning. I may see about incorporating your idea into mine to get the best of both worlds . . . --- þ OLX 2.2 þ #3620 þ Minneapolis, MN PCRelay:BYTELINE -> #365 RelayNet (tm) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4-DOS(ECHO Imported: 4/24/1992 To: KEVIN HIGGINS Num: 599 Date: 4/20/1992 From: TONY DUNLAP Re: Time: 10:07 am Subj: DOS 5: boot from a RAM d Prvt: N Read: N > It must be too early in the morning, since I can't figure out > how you'd get files copied to your ramdrive prior to running > autoexec.bat... It was in this echo a couple of weeks ago. You need to make an archive containing your 4dos files and use the INSTALL command in your config.sys to unarc them into your ramdisk. Then set SHELL= to the ramdisk. example: DEVICE=RAMDISK.SYS etc. INSTALL=C:\UTILS\ARJ E C:\4DOS\4DFILES.ARJ D:\ SHELL=D:\4DOS.COM where 4dfiles.arj is the archive containing the 4dos files. Install is normally used to install TSRs and will complain that ARJ doesn't remain resident but it will work nonetheless. You could also make the archive file self-extracting. Handy if you were on a workstation that had to boot from a floppy, but since I keep the archiver on my hard drive anyway, I opted to save a couple of K in disk space. Later --- * Origin: ODOT District 9 (1:2220/30) ------------------------------------------------------------------------ Echo Flag : Y Permanent: N Export: N Personal Read: N BBS: ASTRIX Conference: 4DOS Imported: 4/24/1992 To: HAROLD DRABKIN Num: 12205 Date: 4/12/1992 From: DAVID KUNZ Re: 0 Time: 3:57 pm Subj: DESCRIPT.ION FFILES Prvt: N Read: N HDº I recently ran norton's speed disk to get a fragmentation map. I HDº hadn't bothered to unhide the *.ion files, since I wasn't going to HDº perform an unfragment. Now, this was the first time I've used HDº this program. I saw that it had marked unmovable files with "X". HDº I then viewed the files. The very first ones, as one might guess, HDº were the system files. Then a couple of descript.ion files; The HDº next set was about 1/2 through the drive. All contiguous, all HDº description files. Now, I have lots of subdirectories, with lots HDº of descriptions. Does 4dos actually attempt to cluster them all HDº in one disk location if possible? Most defrag programs won't touch hidden files. I just unhide them with a 4dos batch then defrag and them hide them again. Could do this all in one batch file I guess, but I never got around to it. unhide.btm -- unhides %1 in all directories on the disk pushd \^global /iq if exist %1 for %%FF in (%1) attrib -h %%FF^popd hide.btm -- hides %1 in all directories on the disk pushd \^global /iq if exist %1 for %%FF in (%1) attrib +h %%FF^popd Hope that this helps! David Kunz --- þ MegaReader : No program is idiot-proof, idiots are ingenious! PCRelay:WTHREEJP -> #75 RelayNet (tm) ------------------------------------------------------------------------ Echo Flag : Permanent: N Export: N Personal Read: N BBS: ESCMAIL Conference: 4dos(ECHO) Imported: 4/28/1992 To: ALL Num: 27 Date: 4/21/1992 From: HENRIK JACOBSEN Re: Time: 11:45 pm Subj: Aliases Prvt: N Read: N Hello All Aliases is just the best is it just me or are all you other just as happy for them as i am? Did you know that if you write an directory name with the full path and a backslash at the end, then 4dos automatically goes to that directory on that drive, example : you are on c:\games\spell and you type : e:\temp\ then your current directory changes to e:\temp ....pretty nice and i did'nt know it until now that explains my last alias, it goes on step back! a2a = dtrans b2b = dtrans b: b: a2c = xcopy a: c: /s a2b = xcopy a: b: /s d2c = xcopy d: c: /s d2a = xcopy d: a: /s c2a = xcopy c: a: /s c2b= xcopy c: b: /s dd = dir %1 %2 %3 %4 /a:d cd = ctty nul ^ iff isdir %1 then ^ *cdd %1 ^ else ^ ncd %1 %2 %3 %4 ^ endiff ^ ctty con rd = ctty nul ^ ncd rd %1 ^ ctty con md = ctty nul ^ ncd md %1 ^ *cd %1 ^ ctty con rm = *rm -r %1 %2 ^ ctty nul ^ ncd . /r ^ ctty con log = list d:\log.txt ^ cls erase = del %1 /p delbak=ctty nul ^global /q del *.bak ^ctty con d = hdir %1 %2 dw = dir %1 /4 dew = pushd %1 ^dir *.exe;*.com;*.bat /4^popd de = pushd %1 ^dir *.exe;*.com;*.bat^popd da = hdir a: db =hdir b: timer=iff "%1"=="" then ^ echo"Usage: TIMER 'cmdline' to time!" ^ else ^*timer ^ %1 %2 %3 %4 %5 %6 ^ *timer ^ endiff copy=iff "%1"=="«" then ^select *copy (%2) %3 ^ else ^*copy %1 %2 %3 %4 %5 %6 ^ endiff move=iff "%1"=="«" then ^select *move (%2) %3 ^ else ^*move %1 %2 %3 %4 %5 %6 ^ endiff del=iff "%1"=="" then ^ select *del (*.*) ^ else ^ *del %1 %2 %3 %4 %5 %6 ^ endiff calc=echo Resultat = %@EVAL[%&] ..=..\ Henrik --- GoldED 2.31p * Origin: .2 one step beyond ! (2:230/171.2)