Vl-filename-mktemp

提供:GizmoLabs - だいたい CAD LISP なサイト
2020年8月8日 (土) 10:28時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vl-filename-mktemp [pattern directory extension])


機能
テンポラリ ファイルに使用される他と重複しないファイル名を返す。


引数
  • pattern : ファイル名パターンを含んだ文字列。nil が指定されるか、何も指定されない場合、vl-filename-mktemp 関数は "$VL" を使用します。
  • directory : テンポラリ ファイルのフォルダ名を示す文字列。nil を指定するか、何も指定しなかった場合、vl-filename-mktemp 関数は次の順序でフォルダを選択する。
  • pattern で指定されたフォルダ(指定されている場合)
  • 環境変数 TMP で指定されたフォルダ
  • 環境変数 TEMP で指定されたフォルダ
  • 現在のフォルダ
  • extension : ファイルに割り当てる拡張子を示す文字列。nil を指定するか、何も指定しなかった場合は pattern の拡張子部分を使用する(空文字列になることがある)。


戻り値
次の形式のファイル名を含んだ文字列。
directory¥ base<XXX><.extension>
ここで、base は最大 5 文字で、pattern から取得する。XXX は 3 文字の他と重複しない組み合わせ。VLISPのセッション中に vl-filename-mktemp 関数で作成したすべてのファイル名は、VLISP を終了したときに無効になる。


サンプル
(vl-filename-mktemp) 
"C:¥¥TMP¥¥$VL~~004"

(vl-filename-mktemp "myapp.del") 
"C:¥¥TMP¥¥MYAPP005.DEL"

(vl-filename-mktemp "c:¥¥acadwin¥¥myapp.del") 
"C:¥¥ACADWIN¥¥MYAPP006.DEL"

(vl-filename-mktemp "c:¥¥acadwin¥¥myapp.del") 
"C:¥¥ACADWIN¥¥MYAPP007.DEL"

(vl-filename-mktemp "myapp" "c:¥¥acadwin") 
"C:¥¥ACADWIN¥¥MYAPP008"

(vl-filename-mktemp "myapp" "c:¥¥acadwin" ".del") 
"C:¥¥ACADWIN¥¥MYAPP00A.DEL"