ファイルシステム

ワーキングディレクトリ

ワーキングディレクトリは、既定のディレクトリパスでカレントディレクトリとも呼ばれます。パスの指定が無い場合に場合に、ワーキングディレクトリのパスが使用されます。通常、ワーキングディレクトリの初期状態は AutoCAD ユーザーのドキュメントフォルダとなりますが、図面ファイルから AutoCAD を起動した場合は、図面ファイルのパスになります。

ACETUTIL関数
(acet-file-cwd)
現在のワーキングディレクトリを返します。
戻り値:文字列

acet-file-cwd 関数は、現在のワーキングディレクトリを返します。

_$ (acet-file-cwd)⏎
"C:¥¥Users¥¥mchair¥¥Documents"

外部 ObjectARX アプリケーションによる関数 EXRXSUBR です。

ACETUTIL関数
(acet-file-chdir directory)
directory:文字列
現在のワーキングディレクトリを変更します。
戻り値:文字列、または、nil

acet-file-chdir 関数は、現在のワーキングディレクトリを変更します。

directory 引数は、ディレクトリを表す文字列を指定します。絶対パスの他、相対パスの指定も可能です。

戻り値は、新しいワーキングディレクトリの絶対パスが返ります。引数が無効なディレクトリなど、変更に失敗した場合は nil を返します。

_$ (acet-file-chdir "..")⏎
"C:\\Users\\mchair"

外部 ObjectARX アプリケーションによる関数 EXRXSUBR です。

ディレクトリ(フォルダ)

AutoLISP関数
(vl-file-directory-p directory)
directory:文字列
パスを表す文字列のディレクトリが存在しているかどうかを調べます。
戻り値:nil、または nil 以外

vl-file-directory-p 関数は、directory で与えられた文字列のディレクトリ名が、実際にディレクトリとして存在しているかどうかを調べます。【サポートファイルの検索パス】内であれば、パスを省略できます。

該当のディレクトリが見つかれば nil 以外を返します。文字列がファイルを表していればnil を返します。また存在しないディレクトリやファイル名の場合も nil を返します。

_$ (vl-file-directory-p "c:¥¥Program Files¥¥Autodesk¥¥AutoCAD2011¥¥support")⏎
T
_$ (vl-file-directory-p "support")⏎
T
_$ (vl-file-directory-p "acad.exe")⏎
nil
_$ (vl-file-directory-p "ABCD")⏎ ;存在しないディレクトリ
nil
AutoLISP関数
(vl-mkdir directory)
directory:文字列
ディレクトリを作成します。
戻り値:nil、または nil 以外
ACETUTIL関数
(acet-file-mkdir directory)
source-file,dest-file:文字列
force: nil、または nil 以外
ファイルのコピーを作成します。
戻り値:nil、または nil 以外

vl-mkdir 関数と acet-file-mkdir 関数は、ディレクトリを作成します。両者に違いはありません。

directoryname 引数は、作成するディレクトリ名を指定します。パスが含まれていなければワーキングディレクトリにディレクトリが作成されます。

戻り値は、作成に成功すれば nil 以外を、既にディレクトリが存在していたなどのエラーが発生した場合は nil を返します。

_$ (vl-mkdir "c:¥¥abcd")⏎
T

外部 ObjectARX アプリケーションによる関数 EXRXSUBR です。

移動(リネーム)

AutoLISP関数
(vl-file-rename from to)
from to:文字列
ファイル名またはディレクトリ名を変更します。パスが異なれば移動になります。
戻り値:nil、または nil 以外
ACETUTIL関数
(acet-file-move from to)
from to:文字列
ファイル名またはディレクトリ名を変更します。パスが異なれば移動になります。
戻り値:nil、または nil 以外

vl-file-rename 関数と acet-file-move 関数は、ファイル名またはディレクトリ名を変更します。両者に違いはありません。

from 引数に変更するファイル名を、 to 引数に新しいファイル名を指定します。ファイル名にパスが含まれていなければ、ワーキングディレクトリでファイル名の変更を行おうとします。ファイル名がディレクトリを表している場合は、ディレクトリ名が変更されます。古い名前と新しい名前のパスを異なるものにすれば、ファイルやディレクトリが移動します。

戻り値は、関数が成功すればnil 以外を、失敗した場合はnil を返します。

_$ (vl-file-rename "c:¥¥abcd¥¥temp.txt" "c:¥¥abcd¥¥temp001.txt")⏎
T

外部 ObjectARX アプリケーションによる関数 EXRXSUBR です。

コピー

AutoLISP関数
(vl-file-copy from to [append])
from to:文字列
append: nil、または nil 以外
ファイルのコピーを作成します。
戻り値:整数、または nil
ACETUTIL関数
(acet-file-copy from to [force])
from to:文字列
force: nil、または nil 以外
ファイルのコピーを作成します。
戻り値:nil、または nil 以外

vl-file-copy 関数と acet-file-copy 関数は、ファイルを別のファイルにコピーします。

from 引数はコピー元のファイル名を、to 引数にはコピー先のファイル名を指定します。from 引数と to 引数は、ディレクトリ名であってはなりません。ファイル名にパスが含まれていなければ、ワーキングディレクトリでファイルのコピーを行おうとします。

vl-file-copy 関数の append 引数が nil 以外の時には、コピー先のファイルの末尾にコピー元のファイルが追加されます。この際、コピー先のファイルが存在しない場合は新しく作成されます。

acet-file-copy 関数の force 引数が nil 以外の時には、既存のファイルが存在しても上書きされます。ただし、読み取り専用ファイルは保護されます。

vl-file-copy 関数の戻り値は、コピーが成功すれば整数(コピーしたファイルのバイト数)が、失敗すれば nil が返ります。

acet-file-copy 関数の戻り値は、コピーが成功すれば nil 以外が、失敗すれば nil が返ります。

_$ (vl-file-copy "c:¥¥abcd¥¥temp.txt" "c:¥¥abcd¥¥temp001.txt")⏎
36
_$ (acet-file-copy "c:¥¥abcd¥¥temp001.txt" "c:¥¥abcd¥¥temp002.txt")⏎
T

acet-file-copy 関数は外部 ObjectARX アプリケーションによる関数 EXRXSUBR です。

削除

AutoLISP関数
(vl-file-delete filename)
filename:文字列
ファイルを削除します。
戻り値:nil、または nil 以外

vl-file-delete 関数は、ファイルを削除します。

filename 引数は、削除するファイル名を指定します。これは、ディレクトリ名であってはなりません。戻り値は、削除に成功した場合は nil 以外を、失敗した場合は nil を返します。

_$ (vl-file-delete "c:¥¥abcd¥¥temp.txt")⏎
T
ACETUTIL関数
(acet-file-remove filename [force])
filename:文字列
force: nil、または nil 以外
ファイルを削除します。
戻り値:整数

acet-file-remove 関数は、ファイルを削除します。

filename 引数は、削除するファイル名を指定しますが、ワイルドカードを含んだ文字列を受け付けます。vl-file-delete 関数と同じく、ディレクトリの削除は行えません。

force 引数を nil 以外に指定した場合は、読み取り専用のファイルでも削除することができます。

戻り値は、削除したファイルの数を表す整数が返ります。

_$ (acet-file-remove "c:¥¥abcd¥¥temp00*.txt")⏎
2

外部 ObjectARX アプリケーションによる関数 EXRXSUBR です。

ACETUTIL関数
(acet-file-rmdir directory)
directory:文字列
ディレクトリを削除します。
戻り値:nil、または nil 以外

acet-file-rmdir 関数は、ディレクトリを削除します。ただし、ディレクトリにファイルが含まれている場合は、削除を行えません。

directory 引数には、削除するディレクトリを表す文字列を指定します。

戻り値は、削除に成功した場合は nil 以外を、失敗した場合は nil を返します。

_$ (acet-file-mkdir "c:¥¥abcd")⏎
T

外部 ObjectARX アプリケーションによる関数 EXRXSUBR です。

ファイル操作のまとめ

  ファイル ディレクトリ
作成 - vl-mkdir
acet-file-mkdir
移動(リネーム) vl-file-rename
acet-file-move
コピー vl-file-copy
acet-file-copy
出来ません
削除 vl-file-delete
acet-file-remove
acet-file-rmdir