uses dos;

const
  err   : boolean       = false;
var
  f : file;
  s : string;
  dirinfo : searchrec;


begin
s:=paramstr(1);
if boolean(pos('\',s)) then
        begin
        while s[length(s)]<>'\' do delete(s,length(s),1);
        delete(s,length(s),1);
        chdir(s);
        writeln('Directory changed to : '+s);
        end;

FindFirst('*.*',$3f, DirInfo); { Same as DIR *.PAS }
while DosError = 0 do
     begin
     s:=lowercase(dirinfo.name);
     if pos('.jpeg',s)=length(s)-4 then
        begin
        assign(f,dirinfo.name);
        s:=(copy(s,1,length(s)-2)+'g');
        {$i-}
        rename(f,s);
        {$i+}
        if boolean(ioresult) then
                begin
                writeln(dirinfo.name+' ERROR'+^G);
                err:=true;
                end
           else
	        writeln(dirinfo.name+' => '+s);

        end;


     if pos('.mpeg',s)=length(s)-4 then
        begin
        assign(f,dirinfo.name);
        s:=(copy(s,1,length(s)-2)+'g');
        {$i-}
        rename(f,s);
        {$i+}
        if boolean(ioresult) then
                begin
                writeln(dirinfo.name+' ERROR'+^G);
                err:=true;
                end
           else
	        writeln(dirinfo.name+' => '+s);

        end;





     if pos('.mp2',s)=length(s)-3 then
        begin
        assign(f,dirinfo.name);
        s:=(copy(s,1,length(s)-1)+'g');
        {$i-}
        rename(f,s);
        {$i+}
        if boolean(ioresult) then
                begin
                writeln(dirinfo.name+' ERROR'+^G);
                err:=true;
                end
           else
	        writeln(dirinfo.name+' => '+s);

        end;



      if pos('.vob',s)=length(s)-3 then
        begin
        assign(f,dirinfo.name);
        s:=(copy(s,1,length(s)-3)+'mpg');
        {$i-}
        rename(f,s);
        {$i+}
        if boolean(ioresult) then
                begin
                writeln(dirinfo.name+' ERROR'+^G);
                err:=true;
                end
           else
	        writeln(dirinfo.name+' => '+s);

        end;





       	FindNext(DirInfo);
        end;
        findclose(dirinfo);

if err then
        begin
        writeln('Error(s) encounted, hit <cr> to terminate program.');
        readln;
        halt(1);
        end;

end.

