[Back to DIRS SWAG index] [Back to Main SWAG index] [Original]

    {Hidden Directory Secrets }
     program DirHide;
     uses dos;
     var f: File;
         Attr: Word;

     begin
       if ParamCount < 1 then
       begin
         writeln('Usage: DirHide directory');
         Halt
       end;

       Assign(f,ParamStr(1));
       GetfAttr(f, Attr);

       if (DosError = 0) AND
         ((Attr AND Directory) = Directory) then
       begin         { v vvvvvvvvv }
         Attr := (Attr - Directory) XOR Hidden; { TOGGLE HIDDEN BIT }
         SetfAttr(f, Attr);

         if DosError = 0 then
           if (Attr AND Hidden) = Hidden then
             writeln(ParamStr(1),' hidden')
           else
             writeln(ParamStr(1),' shown')
       end
     end.

[Back to DIRS SWAG index] [Back to Main SWAG index] [Original]