home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 7 / FreshFishVol7.bin / bbs / gnu / emacs-18.59-src.lha / GNU / src / amiga / emacs-18.59 / allrename.com next >
Text File  |  1987-06-16  |  1KB  |  40 lines

  1. $! Command file to rename many files at once
  2. $! performing a global string substitution on each name.
  3. $!Example:
  4. $! @allrename [...] "-" "_"
  5. $!changes each `-' in a name into a `_'.
  6. $!
  7. $!The device and directory names are not altered.
  8. $!
  9. $    p2_length = f$length (p2)
  10. $    p3_length = f$length (p3)
  11. $
  12. $file_loop:
  13. $       full_name = f$search("''p1'*.*;*")
  14. $       if ("''full_name'" .eqs. "") then goto done
  15. $       original_device = f$parse("''full_name'",,,"DEVICE")
  16. $       original_dir = f$parse("''full_name'",,,"DIRECTORY")
  17. $       original_file_name = f$parse("''full_name'",,,"NAME")
  18. $       original_file_type = f$parse("''full_name'",,,"TYPE")
  19. $       original_file_version = f$parse("''full_name'",,,"VERSION")
  20. $       original_file = original_file_name -
  21.         + original_file_type + original_file_version
  22. $       new_file = original_file
  23. $       something_done = "false"
  24. $name_loop:
  25. $          max_length = f$length(new_file)
  26. $          index = f$locate("''p2'", new_file)
  27. $          if (index .ge. max_length) then goto end_of_name
  28. $          something_done = "true"
  29. $          new_file = f$extract (0,index,new_file) + p3 -
  30.         + f$extract(index+p2_length,max_length-index,new_file)
  31. $          goto name_loop
  32. $end_of_name:
  33. $       original_file = original_device + original_dir + original_file
  34. $       new_file = original_device + original_dir + new_file
  35. $       if (something_done) then -
  36.           rename 'original_file' 'new_file'
  37. $       goto file_loop
  38. $done:
  39. $    exit
  40.