[fpc-pascal]Deleting the current directory (after changing it)

Rich Pasco pasco at acm.org
Mon Mar 18 08:23:51 CET 2002


Removing the current directory

Back in the good old days of 16-bit Borland Pascal under DOS I had a
utility which (among other things) would change directory to the parent
and the delete the old working directory.  It worked perfectly.  A
simplified listing appears below.

But when I compile it for Win 32 under Free Pascal and run it under
Windows 2000, it crashes with Access Denied (Runtime error 5) when it
tries to delete the old current directory.

As I recall, this problem was previously noted in this forum and it
was explained that, although the program has changed its own working
directory to the parent, the command shell in which it runs is still
using the working directory that it was when the program was first
launched.

OK, that's all well and good, but I miss the functionality of my
little utility, and I want to get it back.  Can anyone suggest a
workaround that really does work?

     - Rich

uses
  DOS;
var
  victim: string;
begin
  victim := FExpand('.');
  chdir ('..');
  WriteLn('Current directory:  '+FExpand('.'));
  WriteLn('Removing directory: '+victim);
  rmdir(victim);
end.





More information about the fpc-pascal mailing list