mxsdoc

FileUtility.ms

依存

struct FileUtilityStruct

一般的なファイルおよびディレクトリの操作に加えてスクリプトファイルやシーンファイルの操作を行うメソッドも提供する。

補足

エンコーディングは指定がない限りUTF-8(BOM無し)を使用する。

private comparer

プロパティ
<Struct:ComparerStruct>

private directoryClass

プロパティ
<DotNetClass:System.IO.Directory>

private directoryInfoClass

プロパティ
<DotNetClass:System.IO.DirectoryInfo>

private dotNetUtility

プロパティ
<Struct:DotNetUtilityStruct>

private encodingDef

プロパティ
<StructDef:EncodingStruct>

private enumDef

プロパティ
<StructDef:EnumStruct>

private fileAttributesEnum

プロパティ
<Struct:EnumStruct>

"System.IO.FileAttributes"列挙型。

private fileClass

プロパティ
<DotNetClass:System.IO.File>

private pathUtility

プロパティ
<Struct:PathUtilityStruct>

private pathUtilityDef

プロパティ
<StructDef:PathUtilityStruct>

private searchOptionEnum

プロパティ
<Struct:EnumStruct>

"System.IO.SearchOption"列挙型。

public fn CopyDirectory

ディレクトリをコピーする。

パラメータ
source
<String>

コピーするディレクトリのパス。

パラメータ
destination
<String>

コピー先のパス。

パラメータ
overwrite:
<BooleanClass>

上書きする場合はtrue、それ以外の場合はfalse。既定値はfalse

戻り値
<OkClass>

public fn CopyFile

ファイルをコピーする。

パラメータ
source
<String>

コピーするファイルのパス。

パラメータ
destination
<String>

コピー先のパス。

パラメータ
overwrite:
<BooleanClass>

上書きする場合はtrue、それ以外の場合はfalse。既定値はfalse

戻り値
<OkClass>

public fn CreateDirectory

指定されたパスに全てのディレクトリとサブディレクトリを作成する。

パラメータ
path
<String>
戻り値
<DotNetObject:System.IO.DirectoryInfo>

public fn CreateTextFile

テキストファイルを作成、または上書きする。

パラメータ
path
<String>
パラメータ
access:
<Name>

実行可能な操作。既定値は#Write

パラメータ
encoding:
<String>

エンコーディングの名前。既定値は"utf-8"

パラメータ
bom:
<BooleanClass>

BOMの有無。既定値はfalse

戻り値
<FileStream|UndefinedClass>

MAXScriptのFileStream値。

補足

指定可能な値はOpenTextFileを参照。

public fn DeleteDirectory

ディレクトリを削除する。

パラメータ
path
<String>
パラメータ
recursive:
<BooleanClass>

サブディレクトリ、およびファイルを削除する場合はtrue、それ以外の場合はfalse。既定値はtrue

戻り値
<OkClass>
補足

recursivefalseの時、指定されたディレクトリが空でない場合は削除しない。
ゴミ箱には移動しないので使用の際は注意すること。

public fn DeleteFile

ファイルを削除する。

パラメータ
path
<String>
戻り値
<OkClass>
補足

ゴミ箱には移動しないので使用の際は注意すること。

public fn DirectoryExists

ディレクトリが存在するかどうかを判定する。

パラメータ
path
<String>
戻り値
<BooleanClass>

public fn EvaluateFile

MAXScriptファイルを評価する。

パラメータ
path
<String>
戻り値
<Any|UndefinedClass>

msファイルでない場合はundefinedを返す。

補足

msファイルのみが対象。

public fn FileExists

ファイルが存在するかどうかを判定する。

パラメータ
path
<String>
戻り値
<BooleanClass>

public fn GetCreationTime

ディレクトリまたはファイルの作成日時を取得する。

パラメータ
path
<String>
パラメータ
asUtc:
<BooleanClass>

世界協定時刻(UTC)で取得する場合はtrue、現在時刻で取得する場合はfalse。既定値はfalse

戻り値
<DotNetObject:System.DateTime>

public fn GetDirectories

パターンに一致したサブディレクトリを取得する。

パラメータ
path
<String>
パラメータ
pattern
<String>

リテラル文字とワイルドカード文字の組み合わせ。大文字と小文字を区別しない。

パラメータ
recursive:
<BooleanClass>

全てのサブディレクトリから検索する場合はtrue、現在のディレクトリからのみ検索する場合はfalse。既定値はfalse

戻り値
<Array[<Struct:Path>]>
補足

パスは自然順にソートされる。
パターン照合は"*"で全てのサブディレクトリを取得した後、matchPattern関数によって照合される。
よってパスの中間部分で選別する場合はパターン文字列の前後にワイルドカードが必要となる点に注意する。

基点 取得したいパス 検索パターン
@"C:\Foo\Bar" @"C:\Foo\Bar\Hoge\Piyo" "*\Hoge*"

public fn GetFiles

パターンに一致したファイルを取得する。

パラメータ
path
<String>
パラメータ
pattern
<String>

リテラル文字とワイルドカード文字の組み合わせ。大文字と小文字を区別しない。

パラメータ
recursive:
<BooleanClass>

全てのサブディレクトリから検索する場合はtrue、現在のディレクトリからのみ検索する場合はfalse。既定値はfalse

戻り値
<Array[<Struct:Path>]>
補足

パスは自然順にソートされる。
パターン照合は"*"で全てのサブディレクトリを取得した後、matchPattern関数によって照合される。
よってパスの中間部分で選別する場合はパターン文字列の前後にワイルドカードが必要となる点に注意する。

基点 取得したいパス 検索パターン
@"C:\Foo\Bar" @"C:\Foo\Bar\Hoge\Piyo.txt" "*\Hoge*.txt"

public fn GetLastAccessTime

ディレクトリまたはファイルの最終アクセス日時を取得する。

パラメータ
path
<String>
パラメータ
asUtc:
<BooleanClass>

世界協定時刻(UTC)で取得する場合はtrue、現在時刻で取得する場合はfalse。既定値はfalse

戻り値
<DotNetObject:System.DateTime>

public fn GetLastWriteTime

ディレクトリまたはファイルの最終書き込み日時を取得する。

パラメータ
path
<String>
パラメータ
asUtc:
<BooleanClass>

世界協定時刻(UTC)で取得する場合はtrue、現在時刻で取得する場合はfalse。既定値はfalse

戻り値
<DotNetObject:System.DateTime>

public fn GetMaxVersion

Maxシーンファイルのバージョンを西暦形式の整数で取得する。

パラメータ
path
<String>
戻り値
<Integer>
補足

ファイルが存在しない等でバージョンが取得できない場合は0を返す。
3ds Max 9以前のバージョンについても一律西暦形式で扱う。

public fn IsHidden

ディレクトリまたはファイルが隠し属性かどうかを判定する。

パラメータ
path
<String>
戻り値
<BooleanClass>

public fn IsMaxFile

ファイルがMaxシーンファイルかどうかを判定する。

パラメータ
path
<String>
戻り値
<BooleanClass>

public fn IsReadOnly

ディレクトリまたはファイルが読み取り専用かどうかを判定する。

パラメータ
path
<String>
戻り値
<BooleanClass>
補足

Windowsのディレクトリを読み取り専用に設定するためにはPowerShell等を利用する必要がある。

Set-ItemProperty -Path .\foo -Name Attributes -Value "ReadOnly"
attrib foo +R

public fn IsScriptFile

ファイルがスクリプトファイルかどうかを判定する。

パラメータ
path
<String>
戻り値
<BooleanClass>
補足

msファイルのみが対象。

public fn MoveDirectory

ディレクトリまたはファイルのディレクトリ部分を変更する。

パラメータ
source
<String>

ディレクトリまたはファイルのパス。

パラメータ
destination
<String>

移動先のディレクトリまたはファイルのパス。ファイルパスを指定した場合はディレクトリ部分が使用される。

戻り値
<OkClass>

public fn OpenTextFile

テキストファイルを開く。

パラメータ
path
<String>
パラメータ
access:
<Name>

実行可能な操作を以下の値で指定する。既定値は#Read

操作 openFile関数のmodeパラメータの対応
#Read 読み取り "rt"
#ReadWrite 読み取り/書き込み "r+"
#Write 書き込み "wt"

これ以外の値を指定した場合は#Readが使用される。

パラメータ
encoding:
<String>

エンコーディングの名前。既定値は"utf-8"

パラメータ
bom:
<BooleanClass>

BOMの有無。既定値はfalse

戻り値
<FileStream|UndefinedClass>

MAXScriptのFileStream値。

public fn ReadAllLines

ファイルの全ての行を読み取る。

パラメータ
path
<String>
パラメータ
encoding:
<String>

エンコーディングの名前。既定値は"utf-8"

パラメータ
bom:
<BooleanClass>

BOMの有無。既定値はfalse

戻り値
<Array[<String>]|UndefinedClass>

ファイルが存在しない場合はundefinedを返す。

public fn ReadAllText

ファイルの全てのテキストを読み取る。

パラメータ
path
<String>
パラメータ
encoding:
<String>

エンコーディングの名前。既定値は"utf-8"

パラメータ
bom:
<BooleanClass>

BOMの有無。既定値はfalse

戻り値
<String|UndefinedClass>

ファイルが存在しない場合はundefinedを返す。

public fn RenameDirectory

ディレクトリ名を変更する。

パラメータ
path
<String>
パラメータ
newName
<String>

新しいディレクトリ名。

戻り値
<OkClass>

public fn RenameFile

ファイル名を変更する。

パラメータ
path
<String>
パラメータ
newName
<String>

新しいファイル名。

戻り値
<OkClass>
補足

拡張子が含まれている場合は全て変更し、含まれていない場合は拡張子を引き継ぐ。

public fn WriteAllLines

ファイルを作成して行を書き込む。

パラメータ
path
<String>
パラメータ
contents
<Array[<Any>]>
パラメータ
eol:
<String>

改行コード。既定値は"\n"

パラメータ
encoding:
<String>

エンコーディングの名前。既定値は"utf-8"

パラメータ
bom:
<BooleanClass>

BOMの有無。既定値はfalse

戻り値
<OkClass>
補足

既存のファイルは上書きされる。
ディレクトリが存在しない場合は作成に失敗する。

public fn WriteAllText

ファイルを作成して文字列を書き込む。

パラメータ
path
<String>
パラメータ
contents
<String|StringStream>
パラメータ
encoding:
<String>

エンコーディングの名前。既定値は"utf-8"

パラメータ
bom:
<BooleanClass>

BOMの有無。既定値はfalse

戻り値
<OkClass>
補足

既存のファイルは上書きされる。
ディレクトリが存在しない場合は作成に失敗する。

private fn copyDirectoryRecursive

ディレクトリを再帰的にコピーする。

パラメータ
source
<String>

コピーするディレクトリのパス。

パラメータ
destination
<String>

コピー先パス。

パラメータ
overwrite
<BooleanClass>
戻り値
<OkClass>

private fn createDirectoryInfo

"System.IO.DirectoryInfo"オブジェクトを生成する。

パラメータ
path
<String>
戻り値
<DotNetObject:System.IO.DirectoryInfo>

private fn createEncoding

エンコーディングオブジェクトを生成する。

パラメータ
encoding
<String>
パラメータ
bom
<BooleanClass>
戻り値
<Struct:Encoding>

private fn createSearchOption

"System.IO.SearchOption"オブジェクトを生成する。

パラメータ
recursive
<BooleanClass>
戻り値
<DotNetObject:System.IO.SearchOption>

private fn getAttributes

ディレクトリまたはファイルのFileAttributesオブジェクトを取得する。

パラメータ
path
<String>
戻り値
<DotNetObject:System.IO.FileAttributes>

private fn getPathType

パスの種類を判定する。

パラメータ
path
<String>
戻り値
<Name>
種類
ディレクトリ #Directory
ファイル #File
不明 #Unknown

private fn isFileAttributesObject

パラメータ
obj
<Any>
戻り値
<BooleanClass>

public fn StructName

戻り値
<Name>

public fn Dump

パラメータ
indent:
<String>
パラメータ
out:
<FileStream|StringStream|WindowStream>

出力先。既定値はlistener

戻り値
<OkClass>

public fn Equals

パラメータ
obj
<Any>
戻り値
<BooleanClass>
補足

大文字と小文字を区別する。