home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!wupost!sdd.hp.com!mips!darwin.sura.net!jvnc.net!rutgers!psuvax1!psuvm!auvm!DKIBMVM1.VNET.IBM.COM!VALOREV
- From: VALOREV@DKIBMVM1.VNET.IBM.COM
- Newsgroups: comp.lang.rexx
- Subject: SH Backquote
- Message-ID: <REXXLIST%92081703384470@UCF1VM.BITNET>
- Date: 17 Aug 92 11:49:43 GMT
- Sender: REXX Programming discussion list <REXXLIST@UGA.BITNET>
- Lines: 79
- Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
- Comments: To: rexxlist@ucf1vm.cc.ucf.edu
-
- Attached please find a piece of code which will do the trick....
-
- It contains a sample program which lists the number of files and how much
- space they occupie, according to the parms to the program.
- And a Generic Subroutine, named BACKQUOTE which do the trick in a VM and
- OS/2 enviroment.
-
- Please note that this subroutine, is not water proof, but just shows the
- idea, BUT it works.
-
- If anyone think further explanation is needed, please say so.
- Any ideas for improvments are also welcome..
-
- With Kind Regards
- Victor Valore
- Internet: valorev at dkibmvm1.vnet.ibm.com
- Bitnet: valorev at vnet
-
-
- /**/
- ARG fn ft fm
- CALL backquote x,'listfile' fn ft fm '(noh date'
- count=0
- DO xx=1 TO x.0
- count=count+word(x.xx,6)
- END
- SAY 'Total number of files, which matches' fn ft fm 'are' x.0
- SAY 'which occupies' count 'Blocks.'
- EXIT
-
- backquote:
- PARSE SOURCE backquoteenv .
- SELECT
- WHEN backquoteenv='OS/2' THEN DO
- ADDRESS CMD 'x'ARG(2) 'Y RXQUEUE'
- backquotex=0
- DO QUEUED()
- backquotex=backquotex+1
- INTERPRET PARSE PULL ARG(1)'.backquotex'
- END
- INTERPRET ARG(1)'.0=backquotex'
- END
- WHEN backquoteenv='CMS' THEN DO
- EXECIO '* CP (STEM BACKQUOTE. STRING QUERY SET'
- DO backquotex=1 TO backquote.0
- DO backquotexx=1 TO words(backquote.backquotex)
- IF WORD(backquote.backquotex,backquotexx)^='IMSG' THEN ITERATE
- backquoteimsg=WORD(backquote.backquotex,backquotexx+1)
- parse var backquoteimsg backquoteimsg ',' .
- LEAVE
- END
- END
- ADDRESS CMS CP SET IMSG OFF
- SPOOL CONS CLOSE PURGE
- SPOOL CONS START NOTERM
- ADDRESS CMS ARG(2)
- SPOOL CONS STOP CLOSE TERM TO USERID() FORM BACKQUOT
- execio '* cp (STEM BACKQUOTE. STRING QUERY RDR'
- do backquotex=2 to BACKQUOTE.0
- parse var backquote.backquotex fromuser file class device . . . form .
- if fromuser=userid() & form=backquot THEN do
- set cmstype ht
- receive file backquot $$data$$ a3 '(NOPrompt'
- set cmstype rt
- 'EXECIO * DISKR backquot $$data$$ a (STEM BACKQUOTE.'
- do backquotexx=1 to backquote.0
- interpret arg(1)'.backquotexx=backquote.backquotexx'
- end
- interpret arg(1)'.0=backquote.0'
- drop backquote.
- leave
- end
- end
- ADDRESS CMS CP SET IMSG backquoteimsg
- END
- OTHERWISE
- SAY 'Unknown Enviroment...' backquoteenv
- END
- RETURN VALUE(ARG(1)'.0')
-