Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!sdd.hp.com!spool.mu.edu!cs.umn.edu!uc!noc.MR.NET!gacvx2.gac.edu!hhdist From: ASTA%DULRUU51.BITNET@CUNYVM.CUNY.EDU Newsgroups: comp.sys.handhelds Subject: RE: Moving files between dirs? Message-ID: <4DFA717C0000531F@gacvx2.gac.edu> Date: 7 Apr 91 17:25:00 GMT Article-I.D.: gacvx2.4DFA717C0000531F Lines: 199 Return-path: <@CUNYVM.CUNY.EDU:ASTA@DULRUU51.BITNET> In-reply-to: your letter rec'd 5-APR-1991 20:58:42.09 To: handhelds@gac.edu X-Original-To: edu%"handhelds@gac.edu", ASTA >Newsgroups: comp.sys.handhelds >Subject: Moving files between dirs? >From: sternlie@eniac.seas.upenn.edu (Paul E. Sternlieb) >Date: 4 Apr 91 21:20:11 GMT Lines: 191 > >Is it possible to move a file or copy a file from one directory >to another on the 48? LOAD: copy objects from your work-space ( := the dir ZZZ in HOME ) SAVE: copy objects to your work-space COPY: copy objects from your current directory to another directory (the selected objects remain in your current directory) MOVE: replace objects from your current directory to another directory (the selected objects are deleted in your current directory) OBSI: shows the size of objects in Bytes. You can determin the size of any object(list), as well the size of directories. REPL: replace a substring with another substring in an object (the object can also be a none-string: a program etc). The 2 substrings haven't to be the same size. SDIR: sort the directory in alphabetical order QS: Quicksort a list or an array (you can specify which column is the key for sorting) First, type in: HOME 'ZZZ' CRDIR Usage of LOAD and SAVE: ----------------------- LOAD LOAD SAVE SAVE eg: 'TEST' SAVE { 'TEST1' 'NEXT' 'ANOTHER' } SAVE 'TEST' LOAD { 'TEST1' 'NEXT' 'ANOTHER' } LOAD You can also load/save whole subdir-trees! Usage of MOVE and COPY: ----------------------- COPY [now travel to the destination directory] CONT [:= SHIFT 1] COPY [now travel to the destination directory] CONT [:= SHIFT 1] MOVE [now travel to the destination directory] CONT [:= SHIFT 1] MOVE [now travel to the destination directory] CONT [:= SHIFT 1] eg: { 'TEST1' 'NEXT' 'SUBDIR1' } COPY HOME CONT You can also copy/move whole subdir-trees! Usage of REPL COPY: ------------------- 3: 2: 1: REPL (replaces any occurence of string1 with string2 in the object) eg: "^" 33 CHR "That's it^^" REPL "DUP OVER +" "SWAP -" 'doit' REPL Usage of QS: ------------ 1: or QS 2: 1: QS eq: { "blubber" "foo" "bar" } QS [[ 1.1 3.4 8 ] [ -2 4 8.8 ] [ 3 0 0.1 ] [ 0 -4 -8 ]] 2 QS ----------------------------------------------------------------------------- | General Student Board | asta@rz.uni-ulm.de | asta@rz.uni-ulm.dbp.de | | c/o Ulli Horlacher | asta@dulruu51.bitnet | 50184::asta (DECnet/BelWUe) | | University of Ulm | ----------------------------------------------------| | D-7900 Ulm, Germany | "Waiting for the prompt" -Marillion | ----------------------------------------------------------------------------- -----schnippel-----cut_here-----reiss------beiskante-----hau_wech-----fetz----- %%HP: T(3)A(R)F(.); DIR COPY \<< 8 CF \->CML HALT \->CMS \>> LOAD \<< 8 CF PATH \-> p \<< ZZZ \->CML p EVAL \->CMS \>> \>> MOVE \<< 8 SF \->CML HALT \->CMS \>> SAVE \<< 8 CF PATH \-> p \<< \->CML ZZZ \->CMS p EVAL \>> \>> \->CML \<< \->O\->L DUP \-> ol \<< 1 SWAP SIZE FOR i ol i GET DUP RCL IF 8 FS? THEN OVER IFERR PURGE THEN PGDIR END END SWAP NEXT 1 ol SIZE 2 MENU \>> \>> \->CMS \<< START IFERR STO THEN DUP DUP \->STR 1 OVER SIZE 1 - SUB ".b" + OBJ\-> REN STO END NEXT \>> DIR\-> \<< DUP EVAL VARS 8 SF \->CML UPDIR \->CMS PURGE \>> \->O\->L \<< IFERR LIST\-> THEN 1 END \->LIST \>> ZZZ\-> \<< path EVAL 2 MENU \>> \->ZZZ \<< PATH HOME 'path' STO ZZZ 2 MENU \>> OBSZ \<< 0 \-> X \<< \->O\->L OBJ\-> 1 SWAP START BYTES 'X' STO+ DROP NEXT X \>> \>> SDIR \<< VARS 1 OVER SIZE FOR i i DUP2 GET DUP RCL IF TYPE 15 == THEN " " ELSE "" END SWAP \->STR + PUT NEXT QS 34 CHR "" ROT REP ORDER RY \>> QS \<< 9 CF 1 CF DUP \->STR DUP "[[" POS SWAP "{ {" POS OR 1 IFT IF DUP TYPE 0 == THEN 9 SF SWAP DUP IF DUP TYPE 3 == THEN 1 SF A\<-\->L SWAP TRN A\<-\->L ELSE LTRN END ROT GET SWAP 's0' STO END 's' STO 1 s SIZE IFERR LIST\-> DROP THEN END \->QS IF 9 FS?C THEN s0 IF 1 FS?C THEN A\<-\->L END ELSE s END { s0 s k } PURGE \>> \->QS \<< DUP2 DUP2 + 2 / s SWAP GET \-> l r l1 r1 x \<< DO WHILE s l1 GET x < REPEAT l1 1 + 'l1' STO END WHILE x s r1 GET < REPEAT r1 1 - 'r1' STO END IF l1 r1 \<= THEN 's' r1 s l1 GET 's' l1 s r1 GET PUT PUT IF 9 FS? THEN 's0' r1 s0 l1 GET 's0' l1 s0 r1 GET PUT PUT END l1 1 + 'l1' STO r1 1 - 'r1' STO END UNTIL l1 r1 > END IF l r1 < THEN l r1 \->QS END IF l1 r < THEN l1 r \->QS END \>> \>> REP \<< 1 CF ROT \->STR ROT \->STR ROT IF DUP TYPE 6 == THEN DUP 4 ROLLD RCL 1 SF END DUP 4 ROLLD \->STR \->REP IF SWAP TYPE 2 \=/ THEN STR\-> END IF 1 FS?C THEN SWAP STO END \>> \->REP \<< ROT ROT 0 \-> a b z \<< WHILE DUP DUP a POS DUP 'z' STO REPEAT 1 z 1 - SUB b + SWAP z a SIZE + OVER SIZE SUB + END DROP \>> \>> END