(for Internet Explorer)
Dim  g_vbslib_setting_paths( ) as string
のパスの配列。
g_vbslib_ver_folder + "setting_default"
env("%myhome_mem%\prog\scriptlib\setting_mem")
env(""%APPDATA%\Scripts"")
g_vbslib_ver_folder + "setting"
配列の要素は、以下の通りです。
%myhome_mem% が定義されている場合のみ
ソース
→ vbs_inc_sub.vbs
関連
setting フォルダーに存在する1つのファイルのパスを返します。
Function  Setting_getIncludePathes( IncludeType as string ) as array of string
scriptlib フォルダーの中で、インクルードする .vbs ファイルのパスの配列を返します。
Function  Setting_getIncludePathes( IncludeType )

  Setting_getIncludePathes = Array(_
    "vbslib.vbs", "sample_lib.vbs" )

End Function
(src)
scriptlib フォルダに共通な環境変数の設定も、Setting_getIncludePathes 関数の中で行います。
関連
scriptlib\vbslib\setting\vbs_inc_setting.vbs
  '--- start of parameters for vbslib include -------------------------------
  g_Vers.Add  "IncludeType", "TypeA"
IncludeType は通常 Empty ですが、下記のように scriptlib ヘッダで、IncludeType 変数の値を
設定すると、IncludeType 引数に値が渡ります。 この値に応じて、インクルードするモジュール
を選択することができます
Function  Setting_getIncludePathes( IncludeType )
  If IncludeType = "TypeA" Then
    Setting_getIncludePathes = Array( "vbslib.vbs", "sample_lib.vbs" )
  End If
End Function
サンプル
参考
パスは、vbs_inc_sub.vbs ファイルがあるフォルダからの相対パスです。
vbc_inc_400.vbs ファイルは、指定しなくてもインクルードされます。
コールツリー
vbslib.vbs
sample_lib.vbs
TypeA
TypeA
参考
ソース
→ vbs_inc_setting.vbs
Sub  Setting_onAfterInclude()
すべてのモジュールをインクルードした後にコールバックされる関数。
あるフォルダの中(scriptlib フォルダごと)にあるすべてのスクリプトの既定の環境変数を
設定することなどを行います。
コールツリー
で返される .vbs ファイルをインクルードした後で行う処理を、
Setting_onAfterInclude 関数に記述してください。 Setting_onAfterInclude 関数の中では、
.vbs ファイルで定義されている関数などを呼び出すことができます。
非推奨
Setting_onAfterInclude を使うと暗黙的に処理が行われるので、推奨されません。
を使って、あるフォルダー(scriptlib フォルダーがある
フォルダーなど)の中にあるすべてのスクリプトに共通の処理を、インクルードして、呼び
出してください。
Sub  main()
  include  SearchParent( "Common.vbs" )
  Common_main
End Sub
メイン.vbs
Common.vbs
Sub  Common_main()  '// Setting_onAfterInclude 関数の代わり
  set_  "VAR", "value"
End Sub
代わりに
参考
Sub  Setting_openFolder( in_FolderOrFilePath )
フォルダーを開きます。
この関数の内容を変えることで、エクスプローラー以外のファイラーを使うことが出来ます。

in_FolderOrFilePath 引数にファイルのパスが渡されたときは、そのファイルを選択状態にしてくだ
さい。 ファイラーがその処理に対応していないときは、ファイルを選択状態にしなくても構いません。
【引数】
in_FolderOrFilePath
フォルダー、またはファイルのパス
参考
(src)
ソース
→ PC_setting_default.vbs
開くファイルのパスをテストでチェックするとき
Setting_openFolder 関数を呼び出したときに、フォルダーを開かずに、開こうとしたフォルダーのパス
を echo 表示するには、下記のコードのようにしてください。
    include  SearchParent( "scriptlib\vbslib\ArgsLog\SettingForTest_pre.vbs" )
    include  SearchParent( "scriptlib\vbslib\ArgsLog\SettingForTest.vbs" )
    SetVar  "Setting_openFolder", "echo"  '// echo 出力に変更する

    Setting_openFolder  "FolderA"
参考
→ scriptlib\vbslib\ArgsLog\SettingForTest_pre.vbs
→ scriptlib\vbslib\ArgsLog\SettingForTest.vbs
アプリケーションは、Setting_openFolder 関数を呼び出すのではなく、
を呼び出して
ください。
Function  Setting_getEditorCmdLine( i as integer or string ) as string
テキスト エディターを開くコマンドラインを返します。
【引数】
i
返り値
パス(文字列)、または、コマンドラインの種類(数値)
コマンドライン文字列, i に対応していないときは Empty
テキストエディタのパスのみ返す。 "" で囲まないこと
i=0 のとき
C:\Windows\notepad.exe
返り値の例:
返り値の例:
"C:\Windows\notepad.exe" "%1"
開くパスを %1 にした、テキストエディタを起動するコマンドラインを返す。
i=1 のとき
開くパスを %1、開いた後に検索するキーワードを %2 にした、テキストエディタを
起動するコマンドラインを返す。 %2 に対応できないときは、%1 だけ使ったコマンド
ラインを返します。
"C:\Program Files\search_open\search_open.exe" "%1#%2"
返り値の例:
i=3 のとき
返り値の例:
"C:\Windows\notepad.exe" "%1"
"C:\Windows\notepad.exe" "%1"
返り値の例:
i=2 のとき
返り値の例:
"C:\Program Files\sakura\sakura.exe" -Y=%L "%1"
開くパスを %1、開く行番号を %L にした、テキストエディタを起動するコマンドライン
を返す。 %L に対応できないときは、%1 だけ使ったコマンドラインを返します。
i が文字列のとき
i は、開こうとするテキストファイルの絶対/相対パスと、行番号、または開いた後に
検索するキーワードであるとして、実際に実行するコマンドラインを返します。
上記「使用サンプル」を参照。
i の例:
C:\FolderA\FileA.txt
行番号を含む i の例:
C:\FolderA\FileA.txt(100)
キーワードを含む i の例:
C:\FolderA\FileA.txt#FuncA
参考
使用サンプル
テスト
→ T_Open_1.vbs
関連
参考
のソース
→ _src\Test\tools\T_SyncFiles\SettingForTest.vbs
Setting_getEditorCmdLine 関数の中で
を呼び出すスクリプトを
参考
include (関数定義を上書き)すると、テキスト エディターで開こうとしたファイル
のパスを、ArgsLog.txt に追記するようになります。 ArgsLog.txt の内容を
チェックすれば、開くファイルのパスが正しいかどうかをチェックできます。
ソース
→ PC_setting_default.vbs
Function  Setting_getDiffCmdLine( i as integer ) as string
テキスト ファイルの比較(Diff)を実行するコマンドラインのテンプレートを返します。
【引数】
i
返り値
コマンドラインの種類
コマンドライン文字列、Empty=対応できない
Diff のパスのみ返す。 "" で囲まないこと
i=0 のとき
C:\Program Files\Rekisa\Rekisa.exe
例:
例:
"C:\Program Files\Rekisa\Rekisa.exe" "%1" "%2"
比較する2つのファイルのパスを %1, %2 にした、Diff を起動するコマンド
ラインを返す。
i=2 のとき
比較する3つのファイルのパスを %1, %2, %3 にした、Diff を起動する
コマンドラインを返す。 対応できないときは、Empty を返す。
"C:\Program Files\Rekisa\Rekisa.exe" "%1" "%2" "%3"
例:
i=3 のとき
関連
i=21 のとき
"C:\Program Files\Rekisa\Rekisa.exe" -Y+1=%L
 -ActiveFile="%1" "%1" "%2"
例:
比較する2つのファイルのパスを %1, %2 にして、%1 の行番号を
%L にした、Diff を起動するコマンドラインを返す。
比較する2つのファイルのパスを %1, %2 にして、%2 の行番号を
%L にした、Diff を起動するコマンドラインを返す。
例:
"C:\Program Files\Rekisa\Rekisa.exe" -Y+1=%L
 -ActiveFile="%2" "%1" "%2"
i=22 のとき
"C:\Program Files\Rekisa\Rekisa.exe" -Y+1=%L
 -ActiveFile="%1" "%1" "%2" "%3"
例:
比較する3つのファイルのパスを %1, %2, %3 にして、%1 の行番号を
%L にした、Diff を起動するコマンドラインを返す。
i=31 のとき
比較する3つのファイルのパスを %1, %2, %3 にして、%2 の行番号を
%L にした、Diff を起動するコマンドラインを返す。
例:
"C:\Program Files\Rekisa\Rekisa.exe" -Y+1=%L
 -ActiveFile="%2" "%1" "%2" "%3"
i=32 のとき
"C:\Program Files\Rekisa\Rekisa.exe" -Y+1=%L
 -ActiveFile="%2" "%1" "%2" "%3"
例:
比較する3つのファイルのパスを %1, %2, %3 にして、%3 の行番号を
%L にした、Diff を起動するコマンドラインを返す。
i=33 のとき
"C:\Program Files\WinMerge\WinMergeU.exe" "%1" "%2"
例:
参考
Diffを実行するコマンドラインを返す
→ _src\Test\tools\T_SyncFiles\SettingForTest.vbs
Setting_getDiffCmdLine 関数の中で
を呼び出すスクリプトを include (関数定義
参考
を上書き)すると、Diff ツールで開こうとしたファイルのパスを、ArgsLog.txt に追記するように
なります。 ArgsLog.txt の内容をチェックすれば、開くファイルのパスが正しいかどうかを
チェックできます。
ソース
→ PC_setting_default.vbs
→ _src\Test\tools\T_SyncFiles\SettingForTest_pre.vbs
例:
    include  SearchParent( "_src\Test\tools\T_SyncFiles\SettingForTest_pre.vbs" )
    include  SearchParent( "_src\Test\tools\T_SyncFiles\SettingForTest.vbs" )
    SetVar  "Setting_getDiffCmdLine", "ArgsLog"  '// ログへの記録に変更する

    start  GetDiffCmdLine( "file1.txt", "file2.txt" )

    AssertFC  "ArgsLog.txt", "Files\DiffAnswer.txt"  '// ログをチェックする
下記の vbs は、g_Setting_getEditorCmdLine などの関数定義も上書きして、ArgsLog.txt に追記
します。
Function  Setting_getFolderDiffCmdLine( i as integer ) as string
フォルダーの比較(Diff)を実行するコマンドラインのテンプレートを返します。
【引数】
i
返り値
コマンドラインの種類
コマンドライン文字列、Empty=対応できない
Diff のパスのみ返す。 "" で囲まないこと
i=0 のとき
C:\Program Files\DF\DF.exe
例:
例:
"C:\Program Files\DF\DF.exe" "%1" "%2"
比較する2つのフォルダーのパスを %1, %2 にした、Diff を起動するコマンドラインを返す。
i=2 のとき
比較する3つのフォルダーのパスを %1, %2, %3 にした、Diff を起動して比較を実行する
コマンドラインを返す。 対応できないときは、Empty を返す。
"C:\Program Files\DF\DF.exe" "%1" "%2" "%3"
例:
i=3 のとき
参考
i=30〜37のとき
比較する3つのフォルダーのパスを %1, %2, %3 にした、Diff を起動するコマンドラインを返す。
ただし、i=30 のときは比較を実行しない(起動後にユーザーが開始することはできる)。
i = 33, 35, 36 のときは、2つの比較を実行する。 i の 1の位は、%1=1, %2=2, %3=4 の論理和。
つまり、33=%1と%2、34=%1と%3、36=%2と%3 を比較する。 起動後にユーザーが 3つの比較を
することはできる。
対応できないときは、Empty を返す。
関連
Diffを実行するコマンドラインを返す
ソース
→ PC_setting_default.vbs
例:
"C:\Program Files\master2\master2.exe" "%1" "%2" "%3" -e=5
→ _src\Test\tools\T_SyncFiles\SettingForTest.vbs
Setting_getFolderDiffCmdLine 関数の中で
を呼び出すスクリプトを
参考
include (関数定義を上書き)すると、Diff ツールで開こうとしたファイルのパスを表示します。
表示したログをチェックすれば、開くファイルのパスが正しいかどうかをチェックできます。
→ _src\Test\tools\T_SyncFiles\SettingForTest_pre.vbs
例:
    include  SearchParent( "_src\Test\tools\T_SyncFiles\SettingForTest_pre.vbs" )
    include  SearchParent( "_src\Test\tools\T_SyncFiles\SettingForTest.vbs" )
    SetVar  "Setting_getFolderDiffCmdLine", "DiffCUI"  '// DiffCUI を起動するようにする

    start  GetDiffCmdLine( "file1.txt", "file2.txt" )

    AssertFC  "ArgsLog.txt", "Files\DiffAnswer.txt"  '// ログをチェックする
下記の vbs は、g_Setting_getEditorCmdLine などの関数定義も上書きして、ArgsLog.txt に追記
します。
%APPDATA%\Scripts\account_setting.vbs
ファイルを新規作成して下記のように記述してください。
Function  Setting_getAdminUserName()
  Setting_getAdminUserName = "Administrator"
End Function
Function  Setting_getAdminUserName() as string
管理者のユーザー名を返します。
Windows XP で自分が管理者であったり、Windows 7 で管理者になれる
ユーザであれば、関数定義の記述は不要です。
参考
管理者のユーザー名は、
= 1 にしたときに使われます。
Sub  Setting_buildTestPrompt( Prompt as TestPrompt )
テスト・プロンプトの設定を行います。
(src)
参考
【引数】
Prompt
設定 (TestPrompt_Setting.vbs のサンプルを参照)
プロンプトのメニュー項目を設定します。
テスト・スクリプト(Test.vbs)を登録します。
Setting_get7zExePath
Function  Setting_get7zExePath() as string
ソース
→ PC_setting_default.vbs
7-Zip
の 7z.exe のパスを返します。
Sub  Setting_getTemp( out_FolderPath as string, out_LimitDate as Date )
テンポラリ・ファイルやテンポラリ・フォルダーの設定値を取得します。
【引数】
out_FolderPath
out_LimitDate
(出力) テンポラリ・フォルダのパス
(出力) 保存期限
サンプル
Sub  Setting_getTemp( out_FolderPath, out_LimitDate )
    out_FolderPath = env( "%Temp%\Report" )
    out_LimitDate = DateAdd( "d", -2, Now() )  '// "d" = day
End Sub
下記は、Setting_getTemp を定義していないときと同じ設定です
テンポラリ・フォルダの設定に関するオブジェクト。
Dim  g_TempFile as TempFileClass
out_FolderPath や out_LimitDate に値を代入しなかったら、デフォルト値が
使われます。
out_LimitDate 引数に出力した日時より前のタイムスタンプを持つファイルは、
GetTempPath で削除されます。 参考
参考
テンポラリ・ファイルのパスを返す
設定の変更
Setting_getTemp は、起動時に(vbslib.vbs の
で)呼ばれます。
動的にテンポラリ・ファイルやテンポラリ・フォルダーの設定値を変更するときは、
以下のようにコーディングしてください。
include  "Setting_getTemp.vbs"
g_TempFile = Empty  '// Setup to set another folder path
get_TempFile
Sub  get_TempFile()
テンポラリ・ファイルやテンポラリ・フォルダーを設定します。
で)呼ばれます。
起動時に(vbslib.vbs の
Function  Setting_getDiffPath() as string
GnuWin の diff.exe のパスを返します。
diff.exe がないと、
による警告がされます。
この関数の定義は、ユーザーが変更できます。
定義サンプル
Function  Setting_getDiffPath()
    Setting_getDiffPath = GetExistPathInSetting( Array( _
        g_vbslib_folder +"GPL\GnuWin\bin\diff.exe" ), _
        "Setting_getDiffPath" )
End Function
ソース
→ PC_setting_default.vbs
Function  Setting_getDiff3Path() as string
が入っているフォルダーのパスを返します。
diff3.exe がないと、
による警告がされます。
この関数の定義は、ユーザーが変更できます。
定義サンプル
Function  Setting_getDiff3Path()
    Setting_getDiff3Path = GetExistPathInSetting( Array( _
        g_vbslib_folder +"GPL\GnuWin\bin\diff3.exe" ), _
        "Setting_getDiff3Path" )
End Function
ソース
→ PC_setting_default.vbs
diff3 (Diffutils)
Function  Setting_getPatchPath() as string
GnuWin の patch.exe のパスを返します。
patch.exe がないと、
による警告がされます。
この関数の定義は、ユーザーが変更できます。
定義サンプル
Function  Setting_getPatchPath()
    Setting_getPatchPath = GetExistPathInSetting( Array( _
        g_vbslib_folder +"GPL\GnuWin\bin\patch.exe" ), _
        "Setting_getPatchPath" )
End Function
ソース
→ PC_setting_default.vbs
Windows の UAC によって、『要求された操作には管理者特権が必要です。』
と表示されるときは、patch.exe を p_atch.exe などに改名し、Setting_getPatchPath
の返り値も、それに合わせてください。
Function  Setting_getPerlPath() as string
スクリプトのホスト(.exe) のパスを返します。
Perl
Perl がインストールされていないと、
による警告がされます。
この関数の定義は、ユーザーが変更できます。
定義サンプル
Function  Setting_getPerlPath()
    Setting_getPerlPath = GetExistPathInSetting( Array( _
        g_vbslib_folder +"perl\bin\perl.exe", _
        g_sh.ExpandEnvironmentStrings( "%ProgramFiles%\perl-strawberry-perl\perl\bin\perl.exe" ), _
        g_sh.ExpandEnvironmentStrings( "%ProgramFiles(x86)%\perl-strawberry-perl\perl\bin\perl.exe" ) ), _
        "Setting_getPerlPath" )
End Function
ソース
→ PC_setting_default.vbs