[Back to DOS SWAG index] [Back to Main SWAG index] [Original]
{
QCD (C) 1995 Scott Tunstall. All rights reserved.
-------------------------------------------------
Using a text file that you have created (called DIRS.TXT) this
routine can quickly CD into any directory without you having
to specify the full path.
(Mind and not overload the table with entries please... will
slow down the old CPU)
For example, in file DIRS.TXT
You could have:
DUNE2
C:\GAMES\DUNE2
...
...
...
...
So whenever this was typed at the command line
CDQ DUNE2
The directory becomes C:\GAMES\DUNE2
You can have as many entries as you like.
}
uses crt, basics;
procedure usage;
begin
writeln;
writeln('Usage :');
writeln;
writeln('QCD <Entry>');
writeln;
writeln('Where <Entry> is a key related to a specific path');
writeln('contained on the disk (need not be the current disk)');
writeln;
writeln('Ask Scott for details if still stuck :)');
writeln('E-Mail address: INSC3SAT@RIVER.TAY.AC.UK');
writeln;
halt;
end;
Function StrCmp(Str1, Str2 : String) : Boolean;
begin
Str1:=upper(Str1);
Str2:=upper(Str2);
if (Length(Str1) = Length(Str2)) and (Pos(Str1, Str2) <> 0) then
StrCmp := True
else
StrCmp := False;
end;
procedure change_dir(entry : string);
var f: text;
currententry: string[20];
associateddir: string[80];
begin
assign(f, '\DIRS.TXT');
reset(f);
while not eof(f) do
begin
readln(f,currententry);
readln(f,associateddir);
if (strcmp(entry, currententry) = True) then
begin
close(f);
{$i-}
chdir(associateddir);
if ioresult <> 0 then
begin
writeln('Directory ',upper(associateddir),' does not exist !!');
halt(1);
end;
halt(0);
end;
end;
writeln;
writeln('No match for ',upper(entry),'!. ');
close(f);
halt(1);
end;
begin
writeln;
writeln;
writeln('Quick CD (C) 1995 Scott Tunstall. All rights reserved.');
case paramcount of
0 : usage;
1 : change_dir(paramstr(1));
else
begin
writeln('An error occurred: Too many parameters !!');
usage;
end;
end;
end.
[Back to DOS SWAG index] [Back to Main SWAG index] [Original]