パスを変数に保存し、Windows DOS コマンドラインで使用する

パスを変数に保存し、Windows DOS コマンドラインで使用する

バッチファイルでは、

set srcpath=%cd%

現在のフォルダーのパスを変数に保存しsrcpath、後で使用する。

しかし、すでに DOS コマンドを実行している場合は、機能しないようです。

Windows のコマンド ラインでパスを変数に保存し、後で使用する方法はありますか?

答え1

Windows 7 で変数を現在のディレクトリに設定するには:

C:\Program Files>set p=%cd%

テスト:

C:\Program Files>echo %p%
C:\Program Files

C:\Program Files>cd \

C:\>echo %p%
C:\Program Files

答え2

私は常にスクリプトをvarで開始して現在のディレクトリを追跡し、どこでもスクリプトを実行できるようにします。 set CURDIR=%~dp0 set srcpath=%~dp0

これを呼び出すときは、パスに \ が含まれていることを知っておく必要があります。そのため、サブディレクトリを呼び出すときはこれを除外し、常に引用符を使用します。

Start "title" "%srcpath%Sub Directories\Wiget.exe"

Var srcpath の後の \ に注意してください。これはその var に含まれているためです。宣言時ではなく、Var を呼び出すときに引用符を使用すると、スペースは問題になりません。

関連情報