お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"ディレクトリの移動、戻る"





コンソールでプログラミングをしている時、一時的にディレクトリを移動して、
またもとのディレクトリに戻りたいときってありますよね。でも、ディレクトリ
が深い場合、戻るのが億劫です。
NTなどのコンソールだと、履歴があるので、あまり利用価値はないかもしれませ
んが、バッチファイルを使用してもとのディレクトリに戻るサンプルです。
このプログラムをパスの通った場所にあると、popdバッチファイルが作成され、
元の場所にもどることができます。

応用機能として パラメータにファイル名に使用できる識別子を付けると、popd
に続けてその識別子を書くことによって、そのままそこにジャンプすることも出
来ます。

例)A>pushd     ---> popd で元の場所に戻る
   A>pushd bcb ---> popdbcb で最後にpushd bcbを行ったディレクトリに戻る
          戻るというよりジャンプするといったほうがいいですね。

※同名のファイルは上書きされます。
コンパイルしても16kBくらいですので、コンソールのお供にどうぞ。

program PushD;
var s:string;
    f:text;
begin
  s:=paramstr(0);
  while (Length(s)>0) and (s[Length(s)]<>'\') do Delete(s,Length(s),1);
  s:=s+'popd'+ParamStr(1)+'.bat';
  Assign(f,s);
  Rewrite(f);
  Writeln(f,'@ECHO OFF');
  GetDir(0,s);
  if s[2]=':' then Writeln(f,copy(s,1,2));
  Writeln(f,'CD '+s);
  Close(f)
end.


            URL=http://member.nifty.ne.jp/lereaux/
文月、夏至、驟雨夏直下  FDELPHI ☆ 瑠瓏 <KHB05271@niftyserve.or.jp>
                   FJBUILDR    Fri,7/3/98  11:27

Original document by 瑠瓏            氏 ID:(KHB05271)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum