deltree.com 835 Bytes
Newer Older
$! DELTREE.COM
$
$ call deltree 'p1'
$ exit $status
$
$ deltree: subroutine ! P1 is a name of a directory
$	on control_y then goto dt_STOP
$	on warning then goto dt_exit
$	_dt_def = f$trnlnm("SYS$DISK")+f$directory()
$	if f$parse(p1) .eqs. "" then exit
$	set default 'f$parse(p1,,,"DEVICE")''f$parse(p1,,,"DIRECTORY")'
$	p1 = f$parse(p1,,,"NAME") + f$parse(p1,,,"TYPE")
$	_fp = f$parse(".DIR",p1)
$ dt_loop:
$	_f = f$search(_fp)
$	if _f .eqs. "" then goto dt_loopend
$	call deltree [.'f$parse(_f,,,"NAME")']*.*
$	goto dt_loop
$ dt_loopend:
$	_fp = f$parse(p1,".;*")
$	if f$search(_fp) .eqs. "" then goto dt_exit
$	set noon
$	set file/prot=(S:RWED,O:RWED,G:RWED,W:RWED) '_fp'
$	set on
$	delete/nolog '_fp'
$ dt_exit:
$	set default '_dt_def'
$	goto dt_end
$ dt_STOP:
$	set default '_dt_def'
$	stop/id=""
$	exit
$ dt_end:
$	endsubroutine