$! Command file to rename many files at once $! performing a global string substitution on each name. $!Example: $! @allrename [...] "-" "_" $!changes each `-' in a name into a `_'. $! $!The device and directory names are not altered. $! $ p2_length = f$length (p2) $ p3_length = f$length (p3) $ $file_loop: $ full_name = f$search("''p1'*.*;*") $ if ("''full_name'" .eqs. "") then goto done $ original_device = f$parse("''full_name'",,,"DEVICE") $ original_dir = f$parse("''full_name'",,,"DIRECTORY") $ original_file_name = f$parse("''full_name'",,,"NAME") $ original_file_type = f$parse("''full_name'",,,"TYPE") $ original_file_version = f$parse("''full_name'",,,"VERSION") $ original_file = original_file_name - + original_file_type + original_file_version $ new_file = original_file $ something_done = "false" $name_loop: $ max_length = f$length(new_file) $ index = f$locate("''p2'", new_file) $ if (index .ge. max_length) then goto end_of_name $ something_done = "true" $ new_file = f$extract (0,index,new_file) + p3 - + f$extract(index+p2_length,max_length-index,new_file) $ goto name_loop $end_of_name: $ original_file = original_device + original_dir + original_file $ new_file = original_device + original_dir + new_file $ if (something_done) then - rename 'original_file' 'new_file' $ goto file_loop $done: $ exit