(for Internet Explorer)
← ▼ ▲
↑
CutFragmentInURL
関連
→ CutLastOf
→ CutLastOfFileName
Function CutFragmentInURL( in_URL as string )
ファイル パスや URL に（# から始まる）フラグメントがあれば削除します。
Assert CutFragmentInURL( "C:\File.txt#2" ) = "C:\File.txt"
【引数】
in_URL
返り値
（入出力）パスやファイル名を含む文字列
（出力） 削除する内容の文字列
サンプル
ソース
→ vbslib.vbs
← ▼ ▲
GetTagJumpParams
Function GetTagJumpParams( PathAndFragment as string ) as TagJumpParams
タグジャンプ形式の文字列（パス＋行番号）を分解します。
サンプル：
Set jumps = GetTagJumpParams( "C:\folder\file1.txt(100)" )
'// jumps.Path = "C:\folder\file1.txt"
'// jumps.LineNum = 100
'// IsEmpty( jumps.Keyword )
関連
テスト
→ T_Path.vbs
→ GetEditorCmdLine
→ T_EditorDiff_Manually.vbs
TagJumpParams クラス
Class TagJumpParams
Public Path '// パス or ""、フル・パスとは限りません
Public LineNum '// as integer or Empty
Public Keyword '// as string or Empty
End Class
Set jumps = GetTagJumpParams( "file1.txt#Key" )
'// jumps.Path = "file1.txt"
'// jumps.Keyword = "Key"
'// IsEmpty( jumps.LineNum )
→ GetEditorCmdLine
参考
タグジャンプ形式の文字列の詳細
GetTagJumpParams( "C:\folder\file1.txt(100)" ).Path
Set jumps = GetTagJumpParams( "file1.txt" )
'// jumps.Path = "file1.txt"
'// IsEmpty( jumps.LineNum )
'// IsEmpty( jumps.Keyword )
→ vbslib.vbs
ソース
Set jumps = GetTagJumpParams( "file${>#}1.txt" )
'// jumps.Path = "file#1.txt"
'// IsEmpty( jumps.LineNum )
'// IsEmpty( jumps.Keyword )
T_GetTagJumpParams
T_EditorManually
${>#} 以外の ${ } は
そのまま
Set jumps = GetTagJumpParams( "file1.txt#${\n}" )
'// jumps.Path = "file1.txt"
'// IsEmpty( jumps.LineNum )
'// jumps.Keyword = "${\n}"
${>#} は、# 文字になり、
# で Keyword の区切り
にはならない
→ GetHRefBase
← ▼ ▲
GetTagJumpPath
Function GetTagJumpPath( PathAndLine as string ) as string
タグジャンプ形式の文字列（パス＋行番号）から、パスを取り出す。
サンプル：
path = GetTagJumpPath( "C:\folder\file1.txt(100)" )
path には、"C:\folder\file1.txt" が入ります。
(src)
関連
テスト
→ T_Path.vbs # GetTagJumpPath
廃止予定です。 GetTagJumpParams を使ってください。
→ GetTagJumpParams
← ▼ ▲
GetTagJumpLine
Function GetTagJumpLine( PathAndLine as string ) as integer
タグジャンプ形式の文字列（パス＋行番号）から、行番号を取り出す。
サンプル：
line = GetTagJumpPath( "C:\folder\file1.txt(100)" )
line には、100 が入ります。
(src)
関連
テスト
→ T_Path.vbs # GetTagJumpLine
PathAndLine に行番号が無いときは、0 が返ります。
廃止予定です。 GetTagJumpParams を使ってください。
→ GetTagJumpParams
← ▼ ▲
IsMovablePathToPath
Function IsMovablePathToPath( SrcPath as string, DstPath as string, IsDstFolder as boolean )
as boolean
(src)
ファイルやフォルダーのパス SrcPath と DstPath の間で、移動ができるかどうかを返します。
【引数】
SrcPath
DstPath
移動元のファイルやフォルダーのパス
移動先のファイルやフォルダーのパス
IsDstFolder
DstPath がフォルダーかどうか
移動ができるかどうか
返り値
テスト
→ T_Path.vbs # [T_IsMovablePathToPath]
ドライブが異なっていたり、ネットワーク ドライブとローカル ドライブの違いがあると、移動できません。
← ▼ ▲
FilePathClass
ファイルのパスか、ファイルの内容に相当する文字列の抽象。
一部の vbslib の関数の引数にファイル名の代わりに指定することができるファイル・パス・オブジェクトです。
文字列や、スクリプトの中のコメントなどを、ファイルとして扱います。
LoadXML
次の関数のファイル名の代わりに指定することができます。
サンプル
Set root = LoadXML( new_FilePathForString( "<Root></Root>" ), Empty )
次の関数で FilePathClass のオブジェクトを生成することができます。
new_FilePathForString
テスト
→ T_XML.vbs
T_LoadXML_PathObject
ソース
→ vbslib.vbs
new_FilePathForFileInScript
GetFilePathString
文字列をファイルとして扱います
スクリプトの中のコメントをファイルとして扱います
入力ファイル・パスに相当する文字列を返します
次のプロパティがあります。
FilePathClass のオブジェクトを ReadFile 関数に渡し、その返り値を使ってファイルの内容を処理するコード
は共通にできるでしょう。
.Text
.FilePath
テキスト・ファイルの内容
ファイル・パス
→ GetFilePathString
関連
→ ReadFile
AssertExist
ReadFile
IsSynchronizedFilesX
Set root = LoadXML( "sample.xml" ), Empty )
Set root = LoadXML( new_FilePathForFileInScript( Empty ), Empty )
ReadFile
ファイルの内容、または、それに相当する文字列を返します
← ▼ ▲
new_FilePathForString
Set root = LoadXML( new_FilePathForString( "<Root></Root>" ), Empty )
Function new_FilePathForString( Text as string ) as FilePathClass
文字列をファイルとして扱うように、ファイル名の代わりに指定するオブジェクトを返します。
【引数】
Text
ファイルの内容
ファイル名の代わりに指定するオブジェクト
返り値
テスト
サンプル
ソース
→ T_XML.vbs
T_LoadXML_PathObject
→ vbslib.vbs
→ FilePathClass
← ▼ ▲
new_FilePathForFileInScript
Function new_FilePathForFileInScript( Parameter as Empty ) as FilePathClass
スクリプトの中のコメントをファイルとして扱うように、ファイル名の代わりに指定するオブジェクトを返します。
【引数】
Parameter
VBScript ファイルのパス、# 可能、Empty =
ファイル名の代わりに指定するオブジェクト
返り値
'------------------------------------------------------------[FileInScript.xml]
'<Root>
'<Tag out_path="_Out.txt"/>
'</Root>
'-----------------------------------------------------------[/FileInScript.xml]
Sub Main( Opt, AppKey )
CommandA_App AppKey, new_FilePathForFileInScript( Empty )
End Sub
'--- start of vbslib include ------------------------------
： （vbslib をインクルードして main を呼び出すコード）
サンプル
→ FilePathClass
vbslib include
→ ReadVBS_Comment
関連
メイン・スクリプト・ファイル（WScript.ScriptFullName） に書かれた [FileInScript.*] がある行の次の行から、
[/FileInScript.*] がある行の前の行までを、ファイルの内容として扱います。 * は任意の文字列です。
スクリプト・ファイルの中にある XML データを CommandA に渡します。
テスト
→ T_FileInScript.vbs
T_new_FilePathForFileInScript
Sub CommandA_App( AppKey, Path )
Set root = LoadXML( Path, Empty )
out_path = root.selectSingleNode( "./Tag" ).getAttribute( "out_path" )
Set w_=AppKey.NewWritable( out_path ).Enable()
End Sub
上記スクリプトから呼び出す CommandA_App 関数の例：
ソース
→ vbslib.vbs
ファイルの内容（XML データ）の部分の行頭には、' が必要です。
参考
→ スクリプト・データ・ファイル (vbslib)
WScript.ScriptFullName
Path に、URL のように # を付けると、スクリプト・ファイルの中の行末にあるタグを検索して、
その中のデータをファイルとして扱います。
path_object = new_FilePathForFileInScript( "#FileInScript.xml" )
→ LoadXML
← ▼ ▲
GetFilePathString
Function GetFilePathString( Path as string or FilePathClass ) as string
入力ファイル・パスに相当する文字列を返します。
【引数】
Path
ファイル・パス・オブジェクト、または、入力ファイル・パス
入力ファイル・パスに相当する文字列
返り値
返り値は、データが存在するファイル・パスを表示するため、データ・ファイルがあるフォルダーの
パスを取得するために使うことができます。
返り値を、
ReadFile
など、ファイルの内容にアクセスする関数に渡すと、期待と異なるデータを入力
Path 引数が
new_FilePathForFileInScript
の返り値を、GetFilePath の
してしまうことがあります。 たとえば、
引数に指定したときは、スクリプトの中のコメントではなく、スクリプト・ファイル全体を入力します。
ソース
→ vbslib.vbs
Path 引数が 文字列なら、その文字列を返します。
なら、WScript.ScriptFullName を返します。
FilePathClass 型
← ▼ ▲
その他
→ ReplaceFileNameWildcard
ワイルドカードを使って、ファイルパスを変更します。
旧仕様
IsAbsPath
→ IsFullPath
GetAbsPath
→ GetFullPath
→ GetParentFullPath
GetParentAbsPath
← ▼ ▲
ファイル一覧、ArrayFromWildcard
Function ArrayFromWildcard( WildcardPath as string ) as PathDictionaryClass of Nothing
ワイルドカードを展開します。 サブ フォルダーも検索します。
【引数】
ワイルドカードを含むパス。フォルダー指定も可。配列可
WildcardPath
For Each step_path In ArrayFromWildcard( "data\*" ).FilePaths
echo step_path
Next
(*1) WildcardPath 引数 （vbslib のワイルドカード）
(*1)
可能：
"*", "*.txt", "file*", "folder\*.txt", Array( "Fo\*.txt", "Fo\*.log" ),
"folder", "Debug\", "Fo\*.txt | Fo\*.log", "Fo\*.txt, Fo\*.log",
"NoWildcard.txt", "folder\*", "fo\*\file.txt", "*\file.txt", ".\file.txt"
→ ファイル一覧 (VBScript)
関連
→ ファイル一覧
テスト
→ EnumFolderObject
高速なフォルダ一覧
ファイル名やフォルダー名でソートされます。
サンプル
性能
不可能：
"folder*\file.txt"
→ CallForEach_copy
ファイル・パスの配列を使ってコピーする
ソース
→ vbslib.vbs
返り値
PathDictionaryClass
of Nothing
→ T_Wildcard.vbs
T_ArrayFromWildcard1
サブ フォルダー記号
が使えます。 例： "folder\*\back_up.txt", "folder\.\*.txt"
→ PathNameCompare
→ ファイルを一覧するときの速度
PathDictionaryClass のオブジェクトを指定したら、そのオブジェクトを返します。
ワイルドカードが、ファイル名やフォルダー名に相当する部分（もっとも右の \ の右側）に
あれば、サブ・フォルダーも検索します。
が優先されます。
サブ フォルダー記号
ただし、WildcardPath 引数に指定した
サブ フォルダー記号が指定されていない（ .\ も *\ もない）ときは、
→ dir, tree (バッチ)
指定したパスのファイルやフォルダーがないときはエラーにします（サブ フォルダー
記号 * や、ワイルドカードが無いときのみ）。
→ ArrayFromWildcard2
ファイルに対する処理の場合（ArrayFromWildcard の返り値の FilePaths プロパティ
などが参照される場合）、フォルダーのパスを指定すると、サブ・フォルダーにある
ファイルも検索します。
→ Expand_glob_Pattern
BasePath プロパティが指定フォルダーになる ArrayFromWildcard
ArrayFromWildcard2
と違い、BasePath プロパティは、カレント フォルダーになります。
path = GetFirst( ArrayFromWildcard( "Sub\File*.txt" ).FilePaths )
サンプル
ワイルドカードを１つだけ展開します。
← ▼ ▲
ファイルを一覧するときの速度
→ ファイルを一覧するときの速度 - VBScript
参考
テスト
→ T_Wildcard.vbs # T_Wildcard_Speed
EnumFolderObject
最も速いのは、
を使う方法です。
最も扱いやすいのは、
ArrayFromWildcard2
を使う方法です。
中間的なのは、
ExpandWildcard
を使う方法です。
← ▼ ▲
ExpandWildcard
Sub ExpandWildcard( WildcardPath as string, Flags as integer,
out_Folder as string, out_StepPaths as array of string )
ワイルドカードを展開します。 サブ・フォルダーも検索します。
【引数】
out_Folder
out_StepPaths
（出力） wildcard が含まれるフォルダのフル・パス
（出力） ワイルドカードにマッチした相対パスの配列
ワイルドカードを含むパス。フォルダ指定も可。配列可
WildcardPath
Set c = g_VBS_Lib
ExpandWildcard "data\*", c.File or c.SubFolder, folder, step_paths
For Each step_path In step_paths
If InStr( step_path, "\_setup_" ) = 0 Then '// 除外する場合
echo GetFullPath( step_path, folder ) '// g_fs.BuildPath は使わないこと
End If
Next
フラグの論理和
Flags
c.SubFolder
wildcard
f.txt
f.bin
f.txt
sub\f.txt
False
○
×
×
f.txt
True
○
×
○
*.txt
sub\abc.txt
×
×
○
True
×
○
○
sub\*
sub
True
True
×
×
○
○
×
×
×
×
(*1) WildcardPath 引数
(*1)
→ ファイル一覧 (VBScript)
関連
→ ファイル一覧
旧 F_File, F_Folder, F_SubFolder
テスト
→ EnumFolderObject
高速なフォルダ一覧
g_Vers("ExpandWildcard_Sort") = True
下記のように設定してから、ExpandWildcard を呼び出すと、ファイル名やフォルダー名で
ソートされます。 少し遅くなりますが、列挙されるファイルの順番がどのような環境でも
→ T_Wildcard.vbs # Main
(*2)
(*2) Flags 引数
c.File
c.Folder
c.SubFolder
下記の定数の or。 下記の c は、g_VBS_Lib の返り値。
c.FullPath
c.ArrayOfArray
ファイルを検索する
フォルダーを検索する
サブ・フォルダーも検索する。
out_Folder を out_StepPaths に含め、out_Folder = Empty にする
out_StepPaths の配列要素数を、WildcardPath に指定した配列
の要素数と同じにして、配列要素は、それぞれのワイルドカード
にマッチしたパスの配列にする
サンプル
性能
→ CallForEach_copy
ファイル・パスの配列を使ってコピーする
c.SubFolderIfWildcard
c.NoError
指定したパスに見つからないときにもエラーにしない
ソース
→ vbslib.vbs
→ (*1) ArrayFromWildcard の WildcardPath 引数
→ ファイルを一覧するときの速度
ExpandWildcard_Sort 変数
ソース
→ vbslib.vbs
サブ フォルダー記号
ただし、WildcardPath 引数に指定した
が優先されます。
→ (*1) ArrayFromWildcard の WildcardPath 引数
サブ・フォルダーも検索するかどうかは、ワールドカードが
指定されたかどうかなどによって決めます。
詳細は、
c.EmptyFolder
空のフォルダーを検索する。
out_StepPaths 引数に出力されるパスの末尾には \ が付きます。
sort_setting_back_up = g_Vers("ExpandWildcard_Sort")
g_Vers("ExpandWildcard_Sort") = True
:
g_Vers("ExpandWildcard_Sort") = sort_setting_back_up
→ IsMatchedWithWildcard
ワイルドカードにマッチするかどうか
で比較したソートを行います。 このとき、フォルダーの区切り記号は含まれません。
同じになります。 内部でそれぞれのフォルダーを展開するごとに
NumStringNameCompare
← ▼ ▲
ExpandWildcard の内部データ構造
ExpandWildcardWorkClass
.items
.is_root_folder
.folder_path
.first_out_count
.out_fast_ubound
.sort_box
ArrayClass <ExpandWildcardItemClass>
boolean
string
integer
integer
ArrayClass <string>
.re
.re2
.IsSubFolder
re_type (*1)
boolean
Empty
re2_type (*1)
(*1) re_type と re2_type は、以下の組み合わせのいずれかです。
re_type
re2_type
RegExp
RegExp
Empty
Empty
Empty
StrMatchKey
NameOnlyClass
WildcardPath 引数
"*"
ワイルドカードがない
"*" が１個のとき
* が２つのときか、? があるとき
work
reg_exp_dic
dictionary < (folder_path), ArrayClass <ExpandWildcardItemClass> >
out_StepPaths
array < File or Folder or (abs_path) >
// ExpandWildcard_sub 開始時の UBound( out_StepPaths )
// 実質的な UBound( out_StepPaths )
← ▼ ▲
Expand_glob_Pattern
テスト
ソース
→ T_Wildcard.vbs
→ ToolsLib.vbs
Function Expand_glob_Pattern( in_Pattern as string ) as array of string
を展開します。
【引数】
in_Pattern
globパターンの文字列
返り値
globパターンを展開したパスの配列
globパターン
T_glob_1
"*.txt"
"[1-3].txt"
"s/*.txt"
サンプル
in_Pattern 引数
ワイルドカードは、カレント フォルダーにあるファイルやフォルダーの名前に展開されます。
サブフォルダーは展開されません。
展開結果の例
"1.txt", "2.txt", "3.txt", "example.txt"
"s\example.txt"
"[12].txt"
"1.txt", "2.txt"
"[012].txt"
"1.txt", "2.txt" （0.txt がない場合）
"[!1].txt"
"1.txt", "2.txt", "3.txt"
"2.txt", "3.txt" （1.txt 以外の ?.txt）
"?.txt"
"1.txt", "2.txt", "3.txt"
"[!12].txt"
"3.txt" （1.txt, 2.txt 以外の ?.txt）
"s/v/*.txt"
"s/v\example.txt" （ワイルドカードの直前だけ\）
関連
→ ArrayFromWildcard
← ▼ ▲
PathDictionaryClass
PathDictionaryClass は、辞書のアイテムを設定するときのキーにフォルダーのパスを指定したら、
キーにフォルダーの中のファイルのパスも指定しても、同じアイテムを取得できる辞書です。
.FilePaths
.Item Set
.Item Get
.Item Set に指定したフォルダーの中にあるファイルやフォルダーも指定可能。
ただし、.Item Set に指定したキーが相対パスなら、絶対パスとはマッチしません。
.AddRemove で除外したパスが指定されたときは、.RemovedObject が返ります。
辞書のキーに登録したファイルと、辞書のキーに登録したフォルダーに含まれる
ファイルの相対パスを列挙します。
キーが相対パスなら、相対パスの配列が返ります。
キーの末尾が \ のときは、フォルダーにマッチします。
.IsNotFoundError = False にすると、キーが指すパスにファイルまたはフォルダーが
ないときでもエラーになりません。
ファイル、または、フォルダーのパスをキーに指定します。
サブ フォルダーも含むワイルド カードも指定可能です。
テスト
ソース
→ T_Wildcard.vbs
T_PathDictionary_1, T_PathDictionary_Wildcard, T_PathDictionary_OverSub
→ vbslib.vbs
Set paths = new PathDictionaryClass
Set paths( "Folder\Sub" ) = a_object
paths.AddRemove "*.bak"
Assert IsSameArray( paths.FilePaths, Array( "Files\1\A.txt", "Files\1\B.txt" ) )
For Each key In paths.FilePaths
Assert paths( key ) Is a_object
Next
サンプル
サブ フォルダーのキーも設定されているときに、サブ フォルダーの中のファイルやフォルダーのパス
を指定したときは、サブ フォルダーに設定されたアイテムが優先して取得されます。
.AddRemove( Path )
対象外にするフォルダーのパスや、拡張子を設定します
Set paths = new PathDictionaryClass
Set paths( "Folder" ) = a_object
Set paths( "Folder\Sub" ) = b_object
Assert paths( "Folder\File.txt" ) is a_object
Assert paths( "Folder\Sub\File.txt" ) is b_object
メンバー
→ new_PathDictionaryClass_fromXML
関連
.FileExists( Path )
キーに指定したファイルパスが辞書にあるなら True。
キーに指定したフォルダーの中（のサブフォルダー）にあるファイルの
パスが指定されたときも、True。
引数に絶対パスを指定可能。
.BasePath
キーに相対パスを指定した時の基準パス。 初期値は生成時のカレントフォルダー。
変更したら、FilePaths などの数が変わることがあります。
.Add( Key, Item ), .Count, .Items, .CompareMode, .Remove(), .RemoveAll()
Scripting.Dictionary と同じ
.FullPaths
フル パスの配列が返る FilePaths。
→ EnumFolderObjectDic
→ EnumFileObjectDic
→ Folder::Files
→ Folder::SubFolders
フォルダーを一覧する
ファイルを一覧する
XML からファイルの集合を指定する
Set paths = new PathDictionaryClass
paths.BasePath = "C:\BaseFolder"
Set paths( "Folder" ) = a_object
Assert paths( "Folder\File.txt" ) is a_object
→ Dictionary クラス （ハッシュ、辞書、Scripting.Dictionary）
→ ArrayFromWildcard
PathDictionaryClass を取得する別の方法
→ FilePathClass
ファイルのパスか、ファイルの内容に相当する文字列の抽象
new_PathDictionaryClass_fromXML
を使えば、XML ファイルの中からパスの指定を取得できます。
<Root>
<Variable name="${ExceptExts}" value="*.obj, *.bak"/>
<File path="Sample.txt"/>
<Folder path="SubFolder" attr="ABC">
<Except path="${ExceptExts}"/>
<Except path="SubFolder\Debug"/>
</Folder>
</Root>
Variable name
value
Except
Except
Folder path
path
path
File path
ArrayFromWildcard
でも、PathDictionaryClass のオブジェクトが得られます。 ArrayFromWildcard
Set paths = ArrayFromWildcard( "Folder" )
Assert paths( "Folder\File.txt" ) Is Nothing
標準の辞書との互換性
.Count, .Keys, .Items などのメソッドやプロパティは、Scripting.Dictionary と互換性があります。
Dic_add
などの、辞書を使った関数を使うこともできます。
Except タグは、AddRemove メソッドに相当します。
.FolderExists( Path )
FileExists に列挙されるファイルを含むフォルダーがあるかどうか。
Path がファイルにマッチするときは、False。
.FolderPaths
ファイルがあるフォルダーの相対パスを列挙します。
親フォルダーの親フォルダーも列挙します。
.DeleteFolderPaths
ファイルを削除したときに削除の候補となるフォルダーの相対パスを
列挙します。 削除の候補となるフォルダーは、AddRemove に指定した
パスを含まない親フォルダーです。 フォルダーを削除するときは、候補
となるフォルダーのサブフォルダーも削除してください。
.DeleteFolderExists( Path )
削除の候補となるフォルダーかどうか。
削除の候補となるサブフォルダーにマッチするときは、True
.Keys
辞書に登録したキー（パス）を列挙します。
.AddRemove で除外したパスも列挙します。
.SearchParent
→ Dic_searchParent
指定したパスの親フォルダーのパスを検索します。
→ Dic_addFilePaths_fromPathDirectory
関連
Dic_addFilePaths_fromPathDirectory
で、特定のオブジェクトをアイテムに持つパスを列挙できます。
.IsScaned
.FilePaths, .FullPaths, .FolderPaths に必要なデータを集めるために、フォルダー
を探索したかどうか。 辞書を変更すると False になり、再度探索します。
.IsNotFoundError
.FilePaths で .Key に設定したパスが見つからないエラーを発生するかどうか
Set paths0 = new PathDictionaryClass
Set paths( "Folder" ) = a_object
Set paths = ArrayFromWildcard( paths0 )
Assert paths is paths0
Assert paths( "Folder\File.txt" ) Is a_object
には、パスの文字列だけでなく PathDictionaryClass のオブジェクトでも、どちらでも指定できます。
FilePaths プロパティは、フォルダーの中にある複数のファイルのパスの配列です。
FilePaths プロパティなどに含まれるか含まれないかが期待と異なるときは、PathDictionaryClass の
オブジェクトを生成した直後に、IsDebugLog プロパティを True にして実行して、キーとファイル
パスの関連を一覧表示してください。
Set paths = new PathDictionaryClass
paths.BasePath = "C:\Folder"
Set paths( "Folder" ) = a_object
paths.AddRemove "*.bak"
Assert IsSameArray( paths.FilePaths, Array( "Files\1\A.txt", "Files\1\B.txt" ) )
FilePaths プロパティは、
PathNameCompare
でソートされた配列を取得します。
.RemovedObject
.AddRemove で除外したパスをキーに指定したときの Item
.KeysEx( Opt )
辞書に登録したキー（パス）を列挙します。 ただし、Opt = Me.ExceptRemoved を
指定したときは、.AddRemove で除外したパスを列挙しないようになります。
→ new_PathDictionaryClass_fromXML
参考
FilePaths
"Folder"
"Folder\File.txt"
存在するフォルダーやファイルのパスをキーに指定してください。
AddRemove メソッド
なります。
ただし、
が呼び出してあったら、そのファイルやフォルダーは FilePaths の対象外に
ファイルを一覧するプロパティにアクセスすると、フォルダーの中を探索するため時間がかかります。
PathDictionaryClass のオブジェクトの内容を変更しなければ、キャッシュを使って高速に探索します。
GetBasePath
に対しても、どちらでも指定できます。
.LeafPaths
→ LeafPathDictionary
.FullPaths に空のフォルダーも追加したフル パスの配列。
空のフォルダーを指すパスの末尾には \ が付きます。
関連
.Exists( Path )
辞書に登録したキー（パス）であるかどうかを返します。
.AddRemove で除外したパスも列挙します。
サブ フォルダー記号
が使えます。 例： "folder\*\back_up.txt", "folder\.\*.txt"
キーには、
アイテムには、任意のオブジェクトを指定できます （ただし、オブジェクト型のみ）。
→ サブ フォルダー記号
ファイルのパス、フォルダーのパス、ワイルドカードの間の優先順位を下記に示します。
上にあるほど優先度が高いです。 たとえば、あるファイルが、キーに指定したワイルドカードにマッチ
しつつ、別のキーに指定したフォルダーの中にあるとき、キーにそのファイルのパスを指定すると、
優先順位の高いワイルドカードをキーに指定して代入したアイテムが返ります。
・ファイルのパス（長い）
・ファイルのパス（短い）
・ワイルドカードがあるパス（\ 記号を含み、長い）
・ワイルドカードがあるパス（\ 記号を含み、短い）
・ワイルドカードがあるパス（\ 記号を含まず、長い）
・ワイルドカードがあるパス（\ 記号を含まず、短い）
・フォルダーのパス（長い）
・フォルダーのパス（短い）
*\Debug\ => Debug\a.obj
*\Debug\ => Debug\b.obj
. => a.c
. => b.c
Set paths = new PathDictionaryClass
paths.IsDebugLog = True
paths.FilePaths
一覧表示
スクリプト
.IsDebugLog
キーとファイル パスの関連を一覧表示するかどうか
IsDebugLog
ファイル名のワイルドカードがあるパスより、フォルダーのパスを優先したいときは、Folder\*
のように指定してください。
←
↓