[前の記事]« コマンドラインシェル「NYACUS」
[次の記事]ネットワークドライブ切断時確認ダイアログがでてしまう »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「CHDIR/CD/MD/RD…ドライブ/ディレクトリ切替、パス名の取扱い」索引へ

batファイルのあるディレクトリに戻るには

781.
自パスに戻るには
2005年09月28日(水) 11時20分
MG
●DOS/Windowsのバージョン↓
Win2000,XP

batファイルを実行し、CDコマンドで、別のディレクトリに移動後、
カンレントディレクトリをbatファイルのあるディレクトリに戻すにはどうすればいいのでしょうか?

batファイルのあるディレクトリが固定ならいいのですが、任意なので困っています。

よろしくご教示下さい。
783.
Re:自パスに戻るには
2005年09月28日(水) 21時24分
Hellcat
フリーソフトが使える環境であれば、次のような方法で実現できます。

実行するバッチファイル名をHOGE.BATと仮定すると

 for /F "usebackq" %P in (`which -m HOGE`) do @set BATPATH=%~dpP

これで環境変数BATPATHにHOGE.BATが格納されているPATHが代入(ただし、ショートファイルネーム形式)されますので、適当な場所で
 pushd %BATPATH%
を実行すればよいことになります。


whichコマンドは
 http://www.vector.co.jp/soft/win95/util/se033318.html
にあります。

手許のWin2000でテストしたところ動きましたので大丈夫だと思います。
一度お試しを。

●参考
以下、whichのヘルプファイルの一部です。

 which は環境変数PATHで指定されるディレクトリ中の実行ファイルを探
 し、NAME がコマンドとして指定(command.comから)された場合に実際に
 起動されるファイルのパスを表示する。細かく言うと、which はカレン
 トディレクトリ、及び環境変数PATHで指定されるディレクトリ中の

         name.com
         name.exe
         name.bat

 というファイルを探し、最初に見つかったファイル名を表示する。但し、
 NAME がパス区切りを含む場合はPATHは探さない。また、NAME が拡張子
 を含む場合はその拡張子のファイルのみ探す。
784.
Re:自パスに戻るには
2005年09月29日(木) 10時47分
otn
>フリーソフトが使える環境であれば、次のような方法で実現できます。
>
>実行するバッチファイル名をHOGE.BATと仮定すると
>
> for /F "usebackq" %P in (`which -m HOGE`) do @set BATPATH=%~dpP

これだと、パスが通っていることが前提になっちゃいますよね。

普通に、
cd /d %~dp0
で、バッチファイルの存在するディレクトリに移動できます。

そもそもの質問の趣旨がよくわからない(「batファイルのあるディレクトリに戻す」と書いてあるがバッチファイルのありかと、バッチファイル開始時のカレントディレクトリは一般には無関係)のですが、もしかしたら、単に cd する前のディレクトリに戻りたいというだけの pushd と popd で解決する問題かもしれません。
785.
Re:自パスに戻るには
2005年09月29日(木) 12時36分
MG
みなさんご回答ありがとうございます。

cd /d %~dp0

で解決しそうです。
ありがとうございました


>>フリーソフトが使える環境であれば、次のような方法で実現できます。
>>
>>実行するバッチファイル名をHOGE.BATと仮定すると
>>
>> for /F "usebackq" %P in (`which -m HOGE`) do @set BATPATH=%~dpP
>
>これだと、パスが通っていることが前提になっちゃいますよね。
>
>普通に、
>cd /d %~dp0
>で、バッチファイルの存在するディレクトリに移動できます。
>
>そもそもの質問の趣旨がよくわからない(「batファイルのあるディレクトリに戻す」と書いてあるがバッチファイルのありかと、バッチファイル開始時のカレントディレクトリは一般には無関係)のですが、もしかしたら、単に cd する前のディレクトリに戻りたいというだけの pushd と popd で解決する問題かもしれません。
>
 
 


カテゴリー「CHDIR/CD/MD/RD…ドライブ/ディレクトリ切替、パス名の取扱い」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2005年09月28日 12:09に投稿されたエントリーのページです。

ひとつ前の投稿は「コマンドラインシェル「NYACUS」」です。

次の投稿は「ネットワークドライブ切断時確認ダイアログがでてしまう」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート