sasaki@HARVARD.HARVARD.EDU (Marty Sasaki) (10/09/85)
Here is a DCL program to delete a directory tree. This file is put into the directory "user_com:" If you use a different name, or a different directory, you will need to edit the recursive call near the bottom. Cheers. Marty Sasaki -------------------- cut here -------------------- $ ! $ ! D E L D I R . C O M - This command procedure asks for a root directory $ ! and then deletes the entire directory structure. $ ! $ if p1 .nes. "" then goto skip_inquiry $ if p1 .eqs. "" then inquire p1 "_Root Directory to delete" $ ! $ skip_inquiry: $ root_dir :='p1 $ delete := "delete/nolog/noconfirm" $ on warning then goto abort $ ! $ main_loop: $ any_dirs := "''root_dir'*.dir" $ next_dir :='f$search(any_dirs) $ if next_dir .eqs. "" then goto wipe_the_root $ ptr :='f$locate("]",next_dir) $ ptr = ptr + 1 $ length :='f$length(next_dir) $ length = length - ptr $ next_dir :='f$extract(ptr,length,next_dir) $ ptr := 'f$locate(".", next_dir) $ next_dir :='f$extract(0,ptr,next_dir) $ next_dir = root_dir - "]" + "." + next_dir +"]" $ @user_com:deldir.com 'next_dir' $ goto main_loop $ ! $ wipe_the_root: $ any_files := "''root_dir'*.*;*" $ write sys$output "...Deleting files in ''root_dir'" $ if f$search(any_files) .nes. "" then delete 'any_files' $ ! $ abort: