2018年7月25日水曜日

SASのカレントディレクトリのパスを取得する




方法①

※ SAS Ondemand for Academicsで動作確認しています。各自の環境で正しく動作するかは別途ご確認下さい。

以下、カレントディレクトリをマクロ変数に格納する例です。

libname _path  "." ;
%let _curr = %sysfunc( pathname(_path) );

  • 「libname _path "."」でカレントディレクトリに_PATHっていうライブラリを割り当ててから、
  •  PATHNAME関数を使って_PATHライブラリのパスを取得し、
  • そのパスをマクロ変数_CURRに格納してます。


単純にカレントディレクトリの場所を知りたいだけなら、以下を実行してログに表示されたパスを見ればOK。

libname _path  "." ;

ログ
 NOTE: ライブラリ参照名_PATHを次のように割り当てました。 
       エンジン: V9 
       物理名: ここにパスが表示される



方法②

SAS9.4のメンテナンスリリース5で追加された「DLGCDIR関数」を使えば、ログにカレントディレクトリのパスを表示できます。

※ ログに表示するだけで、パス自体をマクロ変数等に格納することは出来ません
※ 「DLGCDIR関数」はWindowsとUNIX環境で動作するようです

%let rc = %sysfunc(dlgcdir());

ログ
NOTE: 現在の作業ディレクトリは"ここにパスが表示される"です。


この関数の機能はこれだけじゃないので、また別の記事でも紹介します。



0 件のコメント:

コメントを投稿