現在の作業ディレクトリへのフルパスを取得するために使用できるWindowsコマンドラインコマンドはありますか?
また、このパスをバッチファイルで使用される変数内に保存するにはどうすればよいですか?
現在の作業ディレクトリへのフルパスを取得するために使用できるWindowsコマンドラインコマンドはありますか?
また、このパスをバッチファイルで使用される変数内に保存するにはどうすればよいですか?
cd
シェルを直接使用している%cd%
場合、またはバッチ ファイルで使用する場合は、引数なしで使用します (環境変数のように動作します) 。
コマンドの Windows ヘルプを引用しますset
( set /?
):
コマンド拡張機能が有効になっている場合、いくつかの動的な 展開できるが表示されない環境変数 SET によって表示される変数のリスト。これらの変数値は 変数の値が展開されるたびに動的に計算されます。 ユーザーがこれらの名前のいずれかで変数を明示的に定義すると、 その定義は、以下で説明する動的なものをオーバーライドします。 %CD% - 現在のディレクトリ文字列に展開します。 %DATE% - DATE コマンドと同じ形式を使用して現在の日付に展開します。 %TIME% - TIME コマンドと同じ形式を使用して現在の時刻に展開します。 %RANDOM% - 0 から 32767 までのランダムな 10 進数に展開されます。 %ERRORLEVEL% - 現在の ERRORLEVEL 値に展開されます %CMDEXTVERSION% - 現在のコマンド プロセッサ拡張機能に展開します。 バージョンナンバー。 %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 の場合:
CHDIR 現在のディレクトリの名前を表示または変更します。
Linux の場合:
PWD 現在のディレクトリの名前を表示します。
.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.
どこからでも利用できるようになりましcopypath
た。
Windows の場合cd
、それだけで現在の作業ディレクトリが表示されます。
UNIX および同等のシステムでpwd
は、同じタスクを実行します。$PWD
一部のシェルでは、シェル変数を使用することもできます。Windows がシェル変数を介して現在の作業ディレクトリを取得できるかどうかはわかりません。
chdir投稿へのコメントにあるフォローアップの質問(データを変数に保存する)に基づいて、ディレクトリを変更した後に現在のパスを保存して復元したいと考えています。
元のユーザーは「pushd」を確認する必要があります。これにより、ディレクトリが変更され、現在のディレクトリが「popd」で復元できるスタックにプッシュされます。バッチ ファイルを作成するときに使用する最新の Windows コマンド シェル。
現在のパスを取得する必要がある場合は、最新の cmd シェルにも %CD% 変数があり、参照用に別の変数に簡単に詰め込むことができます。
Windows コマンド プロンプトで、chdir
またはcd
現在の作業ディレクトリのフル パスをコンソールに出力します。
パスをコピーしたい場合は、次を使用できますcd | clip
。
@echo off
for /f "usebackq tokens=*" %%x in (`chdir`) do set var=%%x
echo The currenct directory is: %var%
しかし、もちろん、gmaran23 の答えははるかに簡単です。
Windows ではcd
、作業中の現在のパスを入力します。
Linux ではpwd
、現在の作業パス用。