web-dev-qa-db-ja.com

現在のディレクトリへのフルパスを取得するためのWindowsシェルコマンド?

現在の作業ディレクトリへのフルパスを取得するために使用できるWindowsコマンドラインコマンドはありますか?

また、バッチファイルで使用されている変数にこのパスを格納する方法を教えてください。

177
user62958

シェルを直接使用している場合は引数なしでcdを使用し、バッチファイルで使用する場合は%cd%を使用します(環境変数のように動作します)。

279
Trevor Bramble

次のようにバッチ/環境変数を設定できます。

SET var=%cd%
ECHO %var%

windows 7 x64 cmd.exeからのサンプルスクリーンショット。

enter image description here

更新:SET var = %cd%の代わりにSET var=%cd%を実行すると、以下のようになります。 jebに感謝します。

enter image description here

バッチファイルからカレントディレクトリを取得する

85
gmaran23

setコマンド(set /?)についてのWindowsヘルプを引用してください。

コマンド拡張が有効になっている場合、拡張可能な動的環境変数がいくつかありますが、それらはSETによって表示される変数のリストには表示されません。これらの変数値は、変数の値が展開されるたびに動的に計算されます。
ユーザーがこれらの名前の1つを使って明示的に変数を定義すると、
その定義は上書きされます。下記の動的なもの:
 
%CD% - 現在のディレクトリ文字列に展開します
 
%DATE% -  DATEコマンドと同じ形式で現在の日付に展開します。
 
%TIME% -  TIMEコマンドと同じ形式で現在時刻に展開します
 
%RANDOM% -  0から32767の間のランダムな10進数に展開します。
 
%ERRORLEVEL% - 現在のERRORLEVEL値に展開されます
 
%CMDEXTVERSION% - 現在のCommand Processor Extensions 
]バージョン番号に展開されます。 
 
%CMDCMDLINE% -  
コマンドプロセッサを起動した元のコマンドラインに展開されます。

%CD% - expands to the current directory string.の部分に注意してください。

43
Patrick Cuff

Unixでは?

pwd

23
Stephen Curial

これはいつも私のために働きました:

SET CurrentDir="%~dp0"

ECHO The current file path this bat file is executing in is the following:

ECHO %CurrentDir%

Pause
13
Fred Scales

Windowsの場合は使用できます

cd

そしてLinux用

pwd

コマンドがあります。

12
Nikunj K.

Windowsの場合:

CHDIRカレントディレクトリの名前を表示、またはカレントディレクトリを変更します。

Linuxの場合:

PWDカレントディレクトリの名前を表示します。

6
Ajay Jayavarapu

Windowsの場合、cdだけで現在の作業ディレクトリが表示されます。

UNIXシステムと同様のシステムでは、pwdが同じタスクを実行します。いくつかのシェルの下で$PWDシェル変数を使用することもできます。 Windowsがシェル変数を介して現在の作業ディレクトリを取得することをサポートしているかどうかはわかりません。

6
Michael Trausch

Chdirの投稿へのコメントのフォローアップの質問(変数にデータを格納する)に基づいて、私は彼がディレクトリを変更した後にそれを復元するために現在のパスを格納したいと思っています。

元のユーザーは "pushd"を見てください。これはディレクトリを変更し、現在のディレクトリを "popd"で復元できるスタックにプッシュします。最近のどのWindows cmdシェルでも、バッチファイルを作成するときに使用する方法です。

あなたが本当に現在のパスをつかむ必要があるなら、現代のcmdシェルはあなたが参照のために別の変数に簡単に詰め込むことができる%CD%変数も持っています。

4
Mark
@for /f "usebackq" %%x in (`chdir`) do set var=%%x
@echo "The currenct directory is: %var%"

しかし、もちろん、gmaran23の答えははるかに簡単なものです。

2

.batの下にSystem32ファイルを作成し、copypath.batという名前で現在のパスをコピーするコマンドにします。

echo %cd% | clip

説明:

%cd%はあなたに現在のパスを教えてくれます

CLIP

Description:
    Redirects output of command line tools to the Windows clipboard.
    This text output can then be pasted into other programs.

Parameter List:
    /?                  Displays this help message.

Examples:
    DIR | CLIP          Places a copy of the current directory
                        listing into the Windows clipboard.

    CLIP < README.TXT   Places a copy of the text from readme.txt
                        on to the Windows clipboard.

copyclipはどこからでも利用可能です。

2
Vishrant

Windowsのコマンドプロンプトで、chdirまたはcdはコンソールの現在の作業ディレクトリのフルパスを表示します。

パスをコピーしたい場合はcd | clipを使用できます。

1
Samrat Debroy