
バッチファイルでは、
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 を呼び出すときに引用符を使用すると、スペースは問題になりません。