8.5.16 SetFileAttributeまたはSetFileAttr (フォルダ/ファイルの属性を設定する)
- 機能
-
フォルダ,またはファイルの属性を設定します。
JP1/Script 07-50以降では,ラージファイルが使用できます。
- 形式
SetFileAttribute ( PathName , Attribute1 〔, Attribute2 , …〕 ) SetFileAttr ( PathName , Attribute1 〔, Attribute2 , …〕 )
- 指定項目
-
- PathName
-
設定するフォルダ,またはファイルのフルパスを文字列,または値を格納した変数名で指定します。
- Attribute1〜8
-
設定する属性を指定します。複数の属性を指定できます。
ただし,ATTR_NORMALは単独で指定した場合にだけ有効です。
この値は次のようになります。
値
意味
ATTR_READONLY
読み込み専用ファイル
ATTR_HIDDEN
隠しファイル
ATTR_ARCHIVE
アーカイブファイル
ATTR_SYSTEM
システムファイル
ATTR_TEMPORARY
一時ファイル
ただし,PathNameにフォルダを指定した場合は,この属性は指定できません。
ATTR_NORMAL
すべての属性を取り除きます。この属性は,単独で指定したときだけ有効です。
PathNameで指定されたフォルダ,またはファイルに対して,Attribute1〜8で指定された属性だけを操作する場合,次のどれかを指定します。
値
意味
ATTR_ON (05-10以降)
Attribute1〜8で指定された属性だけを追加します。
ATTR_OFF (05-10以降)
Attribute1〜8で指定された属性だけを取り除きます。
JP1/Script 06-00以降では,複数の属性を指定する場合,設定する属性を一つずつ格納した一次元の配列変数を変数名で指定することもできます。
- 説明
-
指定されたフォルダ,またはファイルに指定された属性を設定します。複数の属性を設定できます。コマンドが正常に実行された場合は真(True)を,エラーが発生した場合は偽(False)を,コマンドの実行結果として返します。
フォルダ,またはファイルの複数の属性を取得するには,GetFileAttributeコマンドを,フォルダ,またはファイルの一つの属性をチェックするには,IsFileAttributeコマンドを使用します。
- 補足
-
環境変数ProgramFiles(通常はシステムドライブのProgram Filesフォルダ),またはWinDir(通常はシステムドライブのWindowsフォルダ)に設定されているフォルダ,フォルダ下のフォルダ,またはフォルダ下のファイルを指定する場合,注意が必要です。詳細は,「1.8.2 コマンドの動作」を参照してください。
- 例
' ファイルのアーカイブ属性を取り除いておき,ファイル操作後にアーカイブ属性を ' チェックして,ファイルが更新されているかどうかを判定する。 Dim file1 file1 = "C:\TEMP\loging.tmp" If IsFileAttribute ( file1 ,ATTR_ARCHIVE ) = True Then SetFileAttribute ( file1 ,ATTR_ARCHIVE ,ATTR_OFF ) End : (ファイル操作) : If IsFileAttribute ( file1 ,ATTR_ARCHIVE ) = True Then MessageBox ( file1+"は更新されました。" ) Else MessageBox ( file1+"は更新されませんでした。" ) End
- 対象バージョン
-
JP1/Script 01-00以降