[net.micro.pc] directory renaming utility

blair@lll-crg.ARPA (Gary Blair) (03/27/85)

A week or so ago I posted a notice about a directory renaming utility for
the IBM PC called RENDIR, and indicated that it was available on PCSIG disk 10.
It has since been pointed out that it it NOT on PCSIG disk 10.  I checked the
disk I obtained it off of, and it is called PUBLIC DOMAIN DISK 10.  I am not
sure where this disk came from, and the person I obtained it from is off on
vacation for who knows how long.  As soon as I determine where this utility
came from originally, I will post the information so that all may obtain it.
Sorry for the previous misinformation.

   Gary J. Blair
   LLNL,  L-300
   P.O.B. 808
   Livermore, CA 94550
   (415) 422-6675
   blair@lll-crg.arpa

marc@ur-univax.UUCP (03/27/85)

I just downloaded a version of RENDIR from Compuserve.  It is in the IBM PC
Novice SIG in DL1 - Utilities.  I'm not sure its the most up to date version.
You can't type the to and from names on the command line - you must wait until
prompted.  Also, it doesn't seem to like paths - you must be 1 level up from
the directory you want to rename.  Even with these inconveniences, it is a
very useful utility.

If anyone knows of a version without these restrictions, please post the info
as a response to this note.  Thanks.

Mark J. Dumic
University of Rochester Computing Center
...{seismo|decvax|allegra}!rochester!ur-univax!marc

jay@umd5.UUCP (03/29/85)

There is a handy little utility program that will rename any file, including
directories and volume labels listed on page 41 or the April 85 issue of
PC Tech Journal.  The program is about 40 instructions long.
-- 
Jay Elvove       ..!seismo!rlgvax!cvl!umd5!jay

jph@whuxlm.UUCP (Holtman Jim) (03/30/85)

> I just downloaded a version of RENDIR from Compuserve.  It is in the IBM PC
> Novice SIG in DL1 - Utilities.  I'm not sure its the most up to date version.
> You can't type the to and from names on the command line - you must wait until
> prompted.  Also, it doesn't seem to like paths - you must be 1 level up from
> the directory you want to rename.  Even with these inconveniences, it is a
> very useful utility.
> 
> If anyone knows of a version without these restrictions, please post the info
> as a response to this note.  Thanks.
> 
> Mark J. Dumic
> University of Rochester Computing Center
> ...{seismo|decvax|allegra}!rochester!ur-univax!marc

For those of you who have TURBO PASCAL (and everyone should since it
is really great), here is a utility for renaming files, including
directories.

---------------cut here-----------------

 program rename;   {rename files or directories}

    type
       regset = record
          case integer of
             1: (
                ax,bx,cx,dx,bp,si,di,ds,es,flags : integer);
             2: (
                al,ah,bl,bh,cl,ch,dl,dh : byte);
          end;

    var
       params : regset;
       fcb : array[-7..37] of byte;   {Extended FCB}
       file_name : string[20];
       i : integer;

    begin
       fcb[-7] := $FF;   {setup Extended FCB}
       fcb[-1] := $16;   {match on anything}
       with params do begin
          write('Old File Name: ');
          readln(file_name);
          file_name := file_name + ' ';   {terminate to stop parse}
          ax := $2901;   {parse the filename}
          ds := seg(file_name[1]);
          si := ofs(file_name[1]);
          es := seg(fcb[0]);
          di := ofs(fcb[0]);
          msdos(params);
          if al <> 0 then begin
             writeln(^G'invalid file name');
             halt;
             end;

          write('New File Name: ');
          readln(file_name);
          file_name := file_name + ' ';
          ax := $2903;   {parse the file name}
          ds := seg(file_name[1]);
          si := ofs(file_name[1]);
          es := seg(fcb[$10]);
          di := ofs(fcb[$10]);
          msdos(params);
          if al <> 0 then begin
             writeln(^G'invalid file name');
             halt;
             end;

          ah := $17;   {rename call}
          ds := seg(fcb[-7]);   {use the Extended FCB}
          dx := ofs(fcb[-7]);
          msdos(params);
          if al <> 0 then writeln(^G'Rename Unsuccessful!!')
          else writeln('Done');
          end;
       end.