バッチ取得現在のパス%CD%
DOSのバッチでは、現在のパスを知る必要がある場合があります.DOSでは、現在のパスに関係する2つの環境変数があり、1つは%cd%、1つは%~dp 0である.
この2つの変数の使い方と代表的な内容は一般的に異なる.
1. %cd%はバッチファイルでもコマンドラインでも使用できます.展開後は、ドライブ文字:+現在のディレクトリ(例:
c:/dirでは、
Batコード echo %cd%
として表示されます.
Batコード c:/dir
%cd%の時間内容は、CDコマンドなどで変更できます.
2. %~dp 0は、バッチ・ファイルにのみ使用できます.バッチ・ファイルが存在するディスク:+パスです.このバッチ・ファイルを実行する過程で、展開後の内容は変更できません.
例えばDディスクの下にバッチファイルがあるbat:
Batコード @echo off echo this is %%cd%% %cd% echo this is %%~dp0 %~dp0
C:/で実行し、次のように出力します.
Batコード C:/>D:/dirshow.bat this is %cd% C:/ this is %~dp0 D:/
この2つの変数の使い方と代表的な内容は一般的に異なる.
1. %cd%はバッチファイルでもコマンドラインでも使用できます.展開後は、ドライブ文字:+現在のディレクトリ(例:
c:/dirでは、
Batコード
echo %cd%
として表示されます.
Batコード
c:/dir
%cd%の時間内容は、CDコマンドなどで変更できます.
2. %~dp 0は、バッチ・ファイルにのみ使用できます.バッチ・ファイルが存在するディスク:+パスです.このバッチ・ファイルを実行する過程で、展開後の内容は変更できません.
例えばDディスクの下にバッチファイルがあるbat:
Batコード
@echo off
echo this is %%cd%% %cd%
echo this is %%~dp0 %~dp0
C:/で実行し、次のように出力します.
Batコード