年末年始休暇を息子の発熱で潰した私です。
今回のネタはバッチプログラム。
ひょんなことから実行資産が格納されている上位ディレクトリのパスを取得したい!という事があり、私のアタマだと地味に試行錯誤するハメになったので、自分の備忘録も兼ねてメモを残しておくことにしました。
以下サンプルです。
@echo off REM カレントディレクトリを保持 SET CAL_DIR=%~dp0 REM pushdコマンドで一時的にカレントディレクトリの上位ディレクトリに移動 pushd %CAL_DIR%.. REM pushdコマンドで移動したディレクトリの絶対パスを取得し、変数に格納 SET UPPER_DIR=%CD% REM pushdコマンド発行前のディレクトリに戻る popd ECHO カレントディレクトリパス:%CAL_DIR% ECHO 上位ディレクトリパス:%UPPER_DIR% |
今回登場したpushdコマンドとpopdコマンドについて調べてみたんですが、
・使い方はcdコマンドと同様、pushd 移動先で指定可能。今回の様に「..」とかもOK!
・実行すると指定されたディレクトリが「一時的な」カレントディレクトリと扱われる
・popdコマンドを使えば移動前のディレクトリに帰ってこれる
というものでした。ええ、便利!
年末年始の面白ネタは特にごじゃいません!またそのうち色々アップしようかと思います。
では、本年もこの頭のおかしい超絶低空飛行ブログをよろしくお願い致します!