MaxZ80 - Chapter 16 One of the handiest and most powerful shells is ZF, or ZFiler. I use it often just to get a quick look at all the files in the directory I'm in, all at once. It's a full screen application, letting you arrow key over to a file of interest and then do a variety of things to it, like edit it, view it, delete it, run some program on it etc., all with a single key stroke. Like MENU, ZF has a "command" file to associate keystrokes with commands to run. In ZF's case, it's called ZFILER.CMD. Here's what it looks like: 1 !zde $f 2 !echo 5/28/06 3 !$"command ? " $f $" tail ? " 4 !$n $" tail? " 5 !,,lput $"library? " $f 6 !crlzh $f # 1. edit 2. version 3. perform command on 4. execute 5. put in a library 6. lzh compress Let's say you're in C0:SIL and you want to get a library directory of rdump12k.lbr. C0:SIL Time: 7:47 ZFILER 1.1 Current File: RDUMP12K.LBR - .300 bdos .def edfile .com edfile .txt envsrc12.com eraz15a .com fcb12 .com fcb12 .lbr prolink .com rdk .lnk rdump .hlp ->rdump12k.lbr rdump12k.sil sil .com sil .doc sil .for sil .sub sil15new.lbr sillib .not sillib .rel silnotes.doc silz80 .lib sop .com tcsrc14 .com tcview24.com xiz .com z3env .z80 z3hdr .rel z3hdr .z80 z3tcap .z80 zasm .com zipdir12.com Arrow over to this file and then hit "macro key" 3, which you can see from the above ZFILER.CMD allows you to "perform a command on" the pointed at file. When asked what command you want to run, type ld, the library directory command. You'll be given an opportunity to supply a tail to this command. We just hit the Enter key. This is what you'll see: Library: C0:RDUMP12K.LBR Created: 05/28/A6 12:43 Modified: 05/28/A6 12:45 Member Name Size Mth Created Modified Real Name ============ ====-======= === ============== ============== ============= RDUMP .HYP 3r 0.37k LZH 04/11/A6 9:42 04/11/A6 9:42 >RDUMP.HLP RDUMP12K.CYM 17r 2.12k LZH 04/17/A6 16:57 04/17/A6 16:57 >RDUMP12K.COM RDUMP12K.SYL 28r 3.50k LZH 04/16/A6 9:40 04/16/A6 9:40 >RDUMP12K.SIL ============ ====-======= === ============== ============== ============= RDUMP12K.LBR members: 3 matched, 3 active, 0 free, 0 deleted, 3 total Strike Any Key -- The Y's in the file types mean these files are "LZH-compressed." This compression was carried out via the 6 "macro" (see above). We pointed at each uncompressed file, hit 6 and then hit the Enter key. Finally, the three compressed files were placed in the library by pointing at each compressed file and hitting 5. ZF has a Group command feature. You may tag (via the T command, which is builtin to ZF, as opposed to "macros," which are user-defined) all the files you want to do something common to (like delete or view, which are also builtin) and then press G followed by D or V etc. To get help on the builtin commands of ZF, press /. Before we close this Chapter, let's talk about the SUBMIT script for running LEE11H that was mentioned in Chapter 13. SAK IF EX $1.HTM LEE11H O=$1H.HTM I=$1.HTM ELSE ECHO C%>ouldn't open $1.%<HTM FI IF, ELSE and FI are commands in the "Flow Command Package," which is like the "Resident Command Package" in that the commands are in high memory and always available. The EX in the IF command is short for EXist. Say you invoked RUNLEE.SUB like so: SUBMIT RUNLEE CLIF "Couldn't open CLIF.HTM" will appear on your screen. The conditions that IF supports include more than EX. There is a transient IF.COM in A1: and if you type .IF // (note the leading period, which forces the transient to run instead of the resident IF) you'll be shown all the options it supports, which are extensive. Based on the help, you may experiment to see if you can build something that works. Note: using // as a command tail for any Z-System utility will always give you help on its usage. |