TNB Library
公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧
CFileName クラス

ファイル名管理クラス [詳解]

#include <TnbFileName.h>

公開メンバ関数

 CFileName (LPCTSTR lpszName)
 代入コンストラクタ [詳解]
 
 CFileName (LPCTSTR lpszName, bool dummy)
 代入コンストラクタ. [詳解]
 
 CFileName (void)
 コンストラクタ [詳解]
 
CStr CopyEx (LPCTSTR lpszNew, bool boIsAllowUndo=false)
 [操作] コピー. [詳解]
 
bool CopyTo (LPCTSTR lpszNew, bool boIsAllowUndo=false, bool boIsSilent=true)
 [操作] コピー. [詳解]
 
bool GetAttributeData (LPWIN32_FILE_ATTRIBUTE_DATA P) const
 [取得] ファイル情報取得 [詳解]
 
DWORD GetBytesOfCluster (void) const
 [取得] クラスタサイズ取得. [詳解]
 
CFileTimeEx GetCreationTime (void) const
 [取得] 作成日時取得 [詳解]
 
CStr GetExtName (void) const
 [取得] 拡張子取得 [詳解]
 
CStr GetFileName (void) const
 [取得] ファイル名取得 [詳解]
 
CStrVector GetFiles (LPCTSTR lpszOpt=_T("\\*.*"))
 [作成] ファイル一覧作成 [詳解]
 
CStr GetFileTitle (void) const
 [取得] ファイルタイトル取得 [詳解]
 
bool GetFindData (LPWIN32_FIND_DATA P) const
 [取得] ファイル情報取得 [詳解]
 
CStr GetFullName (void) const
 [取得] フルName名取得 [詳解]
 
CStr GetFullShortName (void) const
 [取得] FullShortName名取得 [詳解]
 
CFileTimeEx GetLastAccessTime (void) const
 [取得] 最終アクセス日時取得 [詳解]
 
CFileTimeEx GetLastWriteTime (void) const
 [取得] 最終書込み日時取得 [詳解]
 
CStr GetPathName (void) const
 [取得] パス取得 [詳解]
 
CStr GetShortName (void) const
 [取得] ShortName名取得 [詳解]
 
LONGLONG GetSize (void) const
 [取得] ファイルサイズ取得 [詳解]
 
LONGLONG GetSizeOnDisk (void) const
 [取得] ディスク上のサイズ取得 [詳解]
 
CStr InsertAtEndOfName (LPCTSTR lpsz, LPCTSTR lpszExt=NULL) const
 [取得] ファイル名末文字列追加. [詳解]
 
bool IsArchived (void) const
 [確認] Archived属性チェック [詳解]
 
bool IsCompressed (void) const
 [確認] Compressed属性チェック [詳解]
 
bool IsDirectory (void) const
 [確認] Directory属性チェック [詳解]
 
bool IsExist (void) const
 [確認] 有無チェック [詳解]
 
bool IsHidden (void) const
 [確認] Hidden属性チェック [詳解]
 
bool IsNormal (void) const
 [確認] Normal属性チェック [詳解]
 
bool IsReadOnly (void) const
 [確認] ReadOnly属性チェック [詳解]
 
bool IsSameFile (LPCTSTR lpszName) const
 [確認] 比較. [詳解]
 
bool IsShortcut (void) const
 [確認] Shortcutチェック [詳解]
 
bool IsSystem (void) const
 [確認] System属性チェック [詳解]
 
bool IsTemporary (void) const
 [確認] Temporary属性チェック [詳解]
 
bool MakeDirectory (void)
 [作成] フォルダ作成. [詳解]
 
bool MakeShortcut (LPCTSTR lpszLinkName, LPCTSTR lpszDescription, LPCTSTR lpszParameter=NULL) const
 [作成] ショートカット作成. [詳解]
 
bool MoveTo (LPCTSTR lpszNew, bool boIsAllowUndo=false, bool boIsSilent=true)
 [操作] ムーブ. [詳解]
 
 operator LPCTSTR (void) const
 [取得] フルName名取得 [詳解]
 
CFileNameoperator= (LPCTSTR lpszName)
 [設定] 代入オペレーション [詳解]
 
bool Remove (bool boIsAllowUndo=false, bool boIsSilent=true)
 [操作] 削除. [詳解]
 
bool Rename (LPCTSTR lpszNew, bool boIsAllowUndo=false, bool boIsSilent=true)
 [操作] リネーム. [詳解]
 
bool ResolveShortcut (CStr &_description, HWND hWnd=NULL)
 [設定] ショートカット解決. [詳解]
 
bool ResolveShortcut (void)
 [設定] ショートカット解決. [詳解]
 
void Set (LPCTSTR lpszName, const WIN32_FILE_ATTRIBUTE_DATA &tFileAttr)
 [設定] 代入 [詳解]
 
void Set (LPCTSTR lpszPath, const WIN32_FIND_DATA &t)
 [設定] 代入 [詳解]
 
bool SetHidden (void)
 [設定] Hidden属性設定 [詳解]
 
bool SetNormal (void)
 [設定] Normal属性設定 [詳解]
 
bool SetReadOnly (void)
 [設定] ReadOnly属性設定 [詳解]
 
DWORD SetTime (const CFileTimeEx &timeCreation, const CFileTimeEx &timeLastAccess, const CFileTimeEx &timeLastWrite)
 [設定] ファイル日付設定 [詳解]
 

静的公開メンバ関数

static bool IsExist (LPCTSTR lpszPath)
 [確認] 有無チェック. [詳解]
 

詳解

ファイル名管理クラス

ファイル名から、有無、属性、サイズ、日付などが取得できます。
また、属性、日付の変更が出来ます。
必要ファイル
TnbFileName.h
日付
06/05/01 新規作成。
10/10/05 構成変更。 CopyEx() , InsertAtEndOfName() 新規。
11/09/16 IsShortcut(), MakeShortcut() , ResolveShortcut() 新規。
12/01/24 InsertAtEndOfName() の仕様、改良。
12/05/11 MakeDirectory() で無限再起呼び出しの可能性があった。修正。
13/09/02 GetSizeOnDisk(), GetBytesOfCluster() 新規。

TnbFileName.h58 行目に定義があります。

構築子と解体子

◆ CFileName() [1/3]

CFileName ( void  )

コンストラクタ

覚え書き
保持する名前はカレントパス名になります。

TnbFileName.h66 行目に定義があります。

◆ CFileName() [2/3]

CFileName ( LPCTSTR  lpszName)

代入コンストラクタ

引数
lpszNameファイル名

TnbFileName.h75 行目に定義があります。

◆ CFileName() [3/3]

CFileName ( LPCTSTR  lpszName,
bool  dummy 
)

代入コンストラクタ.

指定した文字列を加工せず記憶します。

引数
lpszNameファイル名
dummyダミー。

TnbFileName.h86 行目に定義があります。

関数詳解

◆ CopyEx()

CStr CopyEx ( LPCTSTR  lpszNew,
bool  boIsAllowUndo = false 
)

[操作] コピー.

覚え書き
ディレクトリはコピーできません。
引数
lpszNewコピー先名。
boIsAllowUndotrueならUNDOに残るようにします。 false or省略するとUNDOに残しません。
戻り値
empty失敗
上記以外成功。文字列は、実際にコピーしたファイル名。

TnbFileName.h759 行目に定義があります。

◆ CopyTo()

bool CopyTo ( LPCTSTR  lpszNew,
bool  boIsAllowUndo = false,
bool  boIsSilent = true 
)

[操作] コピー.

覚え書き
ファイルでもディレクトリでもコピー可能です。
引数
lpszNewコピー先名。
boIsAllowUndotrueならUNDOに残るようにします。 false or省略するとUNDOに残しません。
boIsSilentfalseならUIを出し、ユーザに確認させます。 true or省略なら UIを一切出しません。
戻り値
true成功
false失敗(キャンセルも含む)

TnbFileName.h714 行目に定義があります。

◆ GetAttributeData()

bool GetAttributeData ( LPWIN32_FILE_ATTRIBUTE_DATA  P) const

[取得] ファイル情報取得

覚え書き
有効なファイル名を指定している時のみ成功します。
引数
[out]Pファイル情報
戻り値
true成功
false失敗

TnbFileName.h386 行目に定義があります。

◆ GetBytesOfCluster()

DWORD GetBytesOfCluster ( void  ) const

[取得] クラスタサイズ取得.

覚え書き
ディスク上で占有しているサイズを返します。
戻り値
0以外クラスタバイト数
取得失敗

TnbFileName.h356 行目に定義があります。

◆ GetCreationTime()

CFileTimeEx GetCreationTime ( void  ) const

[取得] 作成日時取得

戻り値
日時。失敗するとEmpty状態の CFileTimeEx になる。

TnbFileName.h543 行目に定義があります。

◆ GetExtName()

CStr GetExtName ( void  ) const

[取得] 拡張子取得

戻り値
拡張子

TnbFileName.h254 行目に定義があります。

◆ GetFileName()

CStr GetFileName ( void  ) const

[取得] ファイル名取得

戻り値
ファイル名

TnbFileName.h209 行目に定義があります。

◆ GetFiles()

CStrVector GetFiles ( LPCTSTR  lpszOpt = _T("\\*.*"))

[作成] ファイル一覧作成

覚え書き
保持名がDirectoryの場合、以下のファイル/フォルダを検索します。
引数
lpszOpt検索用のオプション。省略すると ¥*.* が指定されます。
戻り値
フルパスファイル名一覧

TnbFileName.h596 行目に定義があります。

◆ GetFileTitle()

CStr GetFileTitle ( void  ) const

[取得] ファイルタイトル取得

覚え書き
ファイル名から拡張子を除いたものを取得できます。
戻り値
ファイルタイトル

TnbFileName.h224 行目に定義があります。

◆ GetFindData()

bool GetFindData ( LPWIN32_FIND_DATA  P) const

[取得] ファイル情報取得

覚え書き
有効なファイル名を指定している時のみ成功します。
引数
[out]Pファイル情報
戻り値
true成功
false失敗

TnbFileName.h403 行目に定義があります。

◆ GetFullName()

CStr GetFullName ( void  ) const

[取得] フルName名取得

戻り値
フルName名

TnbFileName.h184 行目に定義があります。

◆ GetFullShortName()

CStr GetFullShortName ( void  ) const

[取得] FullShortName名取得

戻り値
Name名

TnbFileName.h193 行目に定義があります。

◆ GetLastAccessTime()

CFileTimeEx GetLastAccessTime ( void  ) const

[取得] 最終アクセス日時取得

戻り値
日時。失敗するとEmpty状態の CFileTimeEx になる。

TnbFileName.h532 行目に定義があります。

◆ GetLastWriteTime()

CFileTimeEx GetLastWriteTime ( void  ) const

[取得] 最終書込み日時取得

戻り値
日時。失敗するとEmpty状態の CFileTimeEx になる。

TnbFileName.h521 行目に定義があります。

◆ GetPathName()

CStr GetPathName ( void  ) const

[取得] パス取得

戻り値
パス

TnbFileName.h269 行目に定義があります。

◆ GetShortName()

CStr GetShortName ( void  ) const

[取得] ShortName名取得

戻り値
Name名

TnbFileName.h239 行目に定義があります。

◆ GetSize()

LONGLONG GetSize ( void  ) const

[取得] ファイルサイズ取得

覚え書き
有効なファイル名を指定している時のみ成功します。
戻り値
0以上ファイルサイズ
マイナス 失敗

TnbFileName.h285 行目に定義があります。

◆ GetSizeOnDisk()

LONGLONG GetSizeOnDisk ( void  ) const

[取得] ディスク上のサイズ取得

覚え書き
ディスク上で占有しているサイズを返します。
戻り値
0以上ファイルサイズ
マイナス取得失敗

TnbFileName.h305 行目に定義があります。

◆ InsertAtEndOfName()

CStr InsertAtEndOfName ( LPCTSTR  lpsz,
LPCTSTR  lpszExt = NULL 
) const

[取得] ファイル名末文字列追加.

ファイル名の末に文字列を追加したファイル名を返します。

覚え書き
本インスタンスの管理するファイル名は変更しません。
引数
lpsz追加する文字列。
lpszExt変更する拡張子。省略、 NULL なら、変更しません。
戻り値
加工したファイルパス。

TnbFileName.h430 行目に定義があります。

◆ IsArchived()

bool IsArchived ( void  ) const

[確認] Archived属性チェック

戻り値
trueあり
falseなし

TnbFileName.h515 行目に定義があります。

◆ IsCompressed()

bool IsCompressed ( void  ) const

[確認] Compressed属性チェック

戻り値
trueあり
falseなし

TnbFileName.h480 行目に定義があります。

◆ IsDirectory()

bool IsDirectory ( void  ) const

[確認] Directory属性チェック

戻り値
trueあり
falseなし

TnbFileName.h473 行目に定義があります。

◆ IsExist() [1/2]

static bool IsExist ( LPCTSTR  lpszPath)
static

[確認] 有無チェック.

引数
lpszPath確認対処のパス.
戻り値
true存在
falseない

TnbFileName.h964 行目に定義があります。

◆ IsExist() [2/2]

bool IsExist ( void  ) const

[確認] 有無チェック

戻り値
true存在
falseない

TnbFileName.h455 行目に定義があります。

◆ IsHidden()

bool IsHidden ( void  ) const

[確認] Hidden属性チェック

戻り値
trueあり
falseなし

TnbFileName.h494 行目に定義があります。

◆ IsNormal()

bool IsNormal ( void  ) const

[確認] Normal属性チェック

戻り値
trueあり
falseなし

TnbFileName.h508 行目に定義があります。

◆ IsReadOnly()

bool IsReadOnly ( void  ) const

[確認] ReadOnly属性チェック

戻り値
trueあり
falseなし

TnbFileName.h466 行目に定義があります。

◆ IsSameFile()

bool IsSameFile ( LPCTSTR  lpszName) const

[確認] 比較.

同じファイルを指しているか、調べることが出来ます。

引数
lpszNameファイル名
戻り値
true同じ
false異なる

TnbFileName.h164 行目に定義があります。

◆ IsShortcut()

bool IsShortcut ( void  ) const

[確認] Shortcutチェック

注意
本メソッドは COM を使用しています。先に CoInitialize() 等、初期化しておいてください。
戻り値
trueショートカットファイル
false

TnbFileName.h851 行目に定義があります。

◆ IsSystem()

bool IsSystem ( void  ) const

[確認] System属性チェック

戻り値
trueあり
falseなし

TnbFileName.h487 行目に定義があります。

◆ IsTemporary()

bool IsTemporary ( void  ) const

[確認] Temporary属性チェック

戻り値
trueあり
falseなし

TnbFileName.h501 行目に定義があります。

◆ MakeDirectory()

bool MakeDirectory ( void  )

[作成] フォルダ作成.

覚え書き
階層が深い場合、すべて作成します。
戻り値
true成功
false失敗

TnbFileName.h628 行目に定義があります。

◆ MakeShortcut()

bool MakeShortcut ( LPCTSTR  lpszLinkName,
LPCTSTR  lpszDescription,
LPCTSTR  lpszParameter = NULL 
) const

[作成] ショートカット作成.

本インスタンスが保持しているファイル名のショートカットを作成します。

注意
本メソッドは COM を使用しています。先に CoInitialize() 等、初期化しておいてください。
引数
lpszLinkNameショートカットファイル名。拡張子は lnk にするようにしてください。
lpszDescription説明文。 CE では無視されます。
lpszParameterパラメータ。省略可能。 CE では無視されます。
戻り値
true成功
false失敗

TnbFileName.h809 行目に定義があります。

◆ MoveTo()

bool MoveTo ( LPCTSTR  lpszNew,
bool  boIsAllowUndo = false,
bool  boIsSilent = true 
)

[操作] ムーブ.

覚え書き
ファイルでもディレクトリでもムーブ可能です。
成功すると、本オブジェクトで記憶しているファイル名もムーブ後のものになります。
引数
lpszNewムーブ先名。
boIsAllowUndotrueならUNDOに残るようにします。 false or省略するとUNDOに残しません。
boIsSilentfalseならUIを出し、ユーザに確認させます。 true or省略なら UIを一切出しません。
戻り値
true成功
false失敗(キャンセルも含む)

TnbFileName.h735 行目に定義があります。

◆ operator LPCTSTR()

operator LPCTSTR ( void  ) const

[取得] フルName名取得

戻り値
フルName名

TnbFileName.h175 行目に定義があります。

◆ operator=()

CFileName & operator= ( LPCTSTR  lpszName)

[設定] 代入オペレーション

引数
lpszNameファイル名
戻り値
自分の参照

TnbFileName.h98 行目に定義があります。

◆ Remove()

bool Remove ( bool  boIsAllowUndo = false,
bool  boIsSilent = true 
)

[操作] 削除.

覚え書き
ファイルでもディレクトリでも削除可能です。
引数
boIsAllowUndotrueならUNDOに残るようにします。 false or省略するとUNDOに残しません。
boIsSilentfalseならUIを出し、ユーザに確認させます。 true or省略なら UIを一切出しません。
戻り値
true成功
false失敗(キャンセルも含む)

TnbFileName.h692 行目に定義があります。

◆ Rename()

bool Rename ( LPCTSTR  lpszNew,
bool  boIsAllowUndo = false,
bool  boIsSilent = true 
)

[操作] リネーム.

覚え書き
ファイルでもディレクトリでもリネーム可能です。
成功すると、本オブジェクトで記憶しているファイル名もリネーム後のものになります。
引数
lpszNewリネーム後名。
boIsAllowUndotrueならUNDOに残るようにします。 false or省略するとUNDOに残しません。
boIsSilentfalseならUIを出し、ユーザに確認させます。 true or省略なら UIを一切出しません。
戻り値
true成功
false失敗(キャンセルも含む)

TnbFileName.h667 行目に定義があります。

◆ ResolveShortcut() [1/2]

bool ResolveShortcut ( CStr _description,
HWND  hWnd = NULL 
)

[設定] ショートカット解決.

本インスタンスが保持しているファイル名がショートカットの場合、リンク先のファイル名に変換します。

注意
本メソッドは COM を使用しています。先に CoInitialize() 等、初期化しておいてください。
引数
[out]_descriptionショートカットの説明文が格納されます。 CE では取得されません。
[in]hWnd有効なウィンドウハンドルを指定すると、ショートカットがないときに探す UI が出ます。 CE では機能しません。
戻り値
true解決に成功し、本インスタンスで記憶しました。
false失敗。ショートカットファイルでないか、参照先のファイルが無い

TnbFileName.h891 行目に定義があります。

◆ ResolveShortcut() [2/2]

bool ResolveShortcut ( void  )

[設定] ショートカット解決.

本インスタンスが保持しているファイル名がショートカットの場合、リンク先のファイル名に変換します。

注意
本メソッドは COM を使用しています。先に CoInitialize() 等、初期化しておいてください。
戻り値
true解決に成功し、本インスタンスで記憶しました。
false失敗。ショートカットファイルでないか、参照先のファイルが無い

TnbFileName.h952 行目に定義があります。

◆ Set() [1/2]

void Set ( LPCTSTR  lpszName,
const WIN32_FILE_ATTRIBUTE_DATA &  tFileAttr 
)

[設定] 代入

覚え書き
この関数は、ファイルの存在と情報を確認ずみの情報を格納する時に使用します。
引数
lpszNameファイル名
tFileAttrファイル情報

TnbFileName.h129 行目に定義があります。

◆ Set() [2/2]

void Set ( LPCTSTR  lpszPath,
const WIN32_FIND_DATA &  t 
)

[設定] 代入

覚え書き
この関数は、ファイルの存在と情報を確認ずみの情報を格納する時に使用します。
引数
lpszPathパス名
tファイル情報

TnbFileName.h143 行目に定義があります。

◆ SetHidden()

bool SetHidden ( void  )

[設定] Hidden属性設定

戻り値
true成功
false失敗

TnbFileName.h562 行目に定義があります。

◆ SetNormal()

bool SetNormal ( void  )

[設定] Normal属性設定

戻り値
true成功
false失敗

TnbFileName.h569 行目に定義があります。

◆ SetReadOnly()

bool SetReadOnly ( void  )

[設定] ReadOnly属性設定

戻り値
true成功
false失敗

TnbFileName.h555 行目に定義があります。

◆ SetTime()

DWORD SetTime ( const CFileTimeEx timeCreation,
const CFileTimeEx timeLastAccess,
const CFileTimeEx timeLastWrite 
)

[設定] ファイル日付設定

引数
timeCreation作成日付
timeLastAccess最終アクセス日付
timeLastWrite書込み日付
戻り値
0成功
0以外エラー。数値はシステムエラーコードです( SystemErrorToMessageText() で文字列化できます)。

TnbFileName.h579 行目に定義があります。