2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Windowsコマンドプロンプトでスクリプト格納場所の親ディレクトリの絶対パスを取得

Last updated at Posted at 2020-08-13

概要

Windowsのコマンドプロンプトで、スクリプトのあるパスの親ディレクトリの絶対パスを取得したいことがあったので、自分用にメモ
(要はスクリプトの格納場所を基準にして、相対パスを絶対パスに変換したい)

実践

  • スクリプトの格納場所自体は例えばここなどを参考に%~dp0で取得可能
  • pushdpopdによるディレクトリ移動とcdコマンドによる絶対パスの取得を使うことで、スクリプトの場所からの相対パスを絶対パスに変換
get_parent.bat
@echo off
:: スクリプトのあるディレクトリの絶対パスを取得
set script_dir=%~dp0

:: 相対パスを使って一時的に移動(この場合は`%script_dir%`の親ディレクトリ)
pushd %script_dir%..

:: 現在のカレントパスがスクリプトの親ディレクトリ
set PARENT_PATH=%CD%

:: 元のパスに戻る
popd

:: %script_dir%は一時的な変数なので一応消去しておく
set script_dir=

@echo on
  • 上の例でcall path\to\get_parent.batのような感じでコマンドプロンプトで実行すると、スクリプト(batファイル)の親ディレクトリの絶対パスがPARENT_PATHに格納される

参考

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?