現在の作業ディレクトリへのフルパスを取得するために使用できるWindowsコマンドラインコマンドはありますか?
また、バッチファイルで使用されている変数にこのパスを格納する方法を教えてください。
シェルを直接使用している場合は引数なしでcd
を使用し、バッチファイルで使用する場合は%cd%
を使用します(環境変数のように動作します)。
次のようにバッチ/環境変数を設定できます。
SET var=%cd%
ECHO %var%
windows 7 x64 cmd.exeからのサンプルスクリーンショット。
更新:SET var = %cd%
の代わりにSET var=%cd%
を実行すると、以下のようになります。 jebに感謝します。
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.
の部分に注意してください。
Unixでは?
pwd
これはいつも私のために働きました:
SET CurrentDir="%~dp0"
ECHO The current file path this bat file is executing in is the following:
ECHO %CurrentDir%
Pause
Windowsの場合は使用できます
cd
そしてLinux用
pwd
コマンドがあります。
Windowsの場合:
CHDIRカレントディレクトリの名前を表示、またはカレントディレクトリを変更します。
Linuxの場合:
PWDカレントディレクトリの名前を表示します。
Windowsの場合、cd
だけで現在の作業ディレクトリが表示されます。
UNIXシステムと同様のシステムでは、pwd
が同じタスクを実行します。いくつかのシェルの下で$PWD
シェル変数を使用することもできます。 Windowsがシェル変数を介して現在の作業ディレクトリを取得することをサポートしているかどうかはわかりません。
Chdirの投稿へのコメントのフォローアップの質問(変数にデータを格納する)に基づいて、私は彼がディレクトリを変更した後にそれを復元するために現在のパスを格納したいと思っています。
元のユーザーは "pushd"を見てください。これはディレクトリを変更し、現在のディレクトリを "popd"で復元できるスタックにプッシュします。最近のどのWindows cmdシェルでも、バッチファイルを作成するときに使用する方法です。
あなたが本当に現在のパスをつかむ必要があるなら、現代のcmdシェルはあなたが参照のために別の変数に簡単に詰め込むことができる%CD%変数も持っています。
@for /f "usebackq" %%x in (`chdir`) do set var=%%x
@echo "The currenct directory is: %var%"
しかし、もちろん、gmaran23の答えははるかに簡単なものです。
.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
はどこからでも利用可能です。
Windowsのコマンドプロンプトで、chdir
またはcd
はコンソールの現在の作業ディレクトリのフルパスを表示します。
パスをコピーしたい場合はcd | clip
を使用できます。