(for Internet Explorer)
← ▼ ▲
↑
g_vbslib_setting_paths
Dim g_vbslib_setting_paths( ) as string
のパスの配列。
setting フォルダー
g_vbslib_ver_folder + "setting_default"
env("%myhome_mem%\prog\scriptlib\setting_mem")
env(""%APPDATA%\Scripts"")
g_vbslib_ver_folder + "setting"
g_vbslib_ver_folder
配列の要素は、以下の通りです。
%myhome_mem% が定義されている場合のみ
env
ソース
→ vbs_inc_sub.vbs
関連
→ Setting_getExistSettingPath
setting フォルダーに存在する１つのファイルのパスを返します。
← ▼ ▲
Function Setting_getIncludePathes( IncludeType as string ) as array of string
Setting_getIncludePathes
scriptlib フォルダーの中で、インクルードする .vbs ファイルのパスの配列を返します。
Function Setting_getIncludePathes( IncludeType )
Setting_getIncludePathes = Array(_
"vbslib.vbs", "sample_lib.vbs" )
End Function
(src)
→ vbs_inc
scriptlib フォルダに共通な環境変数の設定も、Setting_getIncludePathes 関数の中で行います。
[ 親: setting フォルダー ]
関連
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
IncludeType 引数 （旧 g_IncludeType）
→ デフォルトの環境変数の設定タイミング
サンプル
参考
パスは、vbs_inc_sub.vbs ファイルがあるフォルダからの相対パスです。
vbc_inc_400.vbs ファイルは、指定しなくてもインクルードされます。
→ Setting_getIncludePathes
コールツリー
vbslib.vbs
sample_lib.vbs
TypeA
TypeA
→ include
参考
→ IncludeType 引数 （旧 g_IncludeType）
ソース
→ vbs_inc_setting.vbs
← ▼ ▲
Setting_onAfterInclude
Sub Setting_onAfterInclude()
すべてのモジュールをインクルードした後にコールバックされる関数。
→ 処理フロー
あるフォルダの中（scriptlib フォルダごと）にあるすべてのスクリプトの既定の環境変数を
設定することなどを行います。
[ 親: setting フォルダー ]
コールツリー
Setting_getIncludePathes
で返される .vbs ファイルをインクルードした後で行う処理を、
Setting_onAfterInclude 関数に記述してください。 Setting_onAfterInclude 関数の中では、
.vbs ファイルで定義されている関数などを呼び出すことができます。
非推奨
Setting_onAfterInclude を使うと暗黙的に処理が行われるので、推奨されません。
→ TestCommon.vbs
include
と
SearchParent
を使って、あるフォルダー（scriptlib フォルダーがある
フォルダーなど）の中にあるすべてのスクリプトに共通の処理を、インクルードして、呼び
出してください。
Sub main()
include SearchParent( "Common.vbs" )
Common_main
End Sub
メイン.vbs
Common.vbs
Sub Common_main() '// Setting_onAfterInclude 関数の代わり
set_ "VAR", "value"
End Sub
代わりに
参考
← ▼ ▲
Setting_openFolder
Sub Setting_openFolder( in_FolderOrFilePath )
フォルダーを開きます。
この関数の内容を変えることで、エクスプローラー以外のファイラーを使うことが出来ます。
in_FolderOrFilePath 引数にファイルのパスが渡されたときは、そのファイルを選択状態にしてくだ
さい。 ファイラーがその処理に対応していないときは、ファイルを選択状態にしなくても構いません。
→ エディター等の変更 （setting フォルダー）
[ 親: setting フォルダー ]
【引数】
in_FolderOrFilePath
フォルダー、またはファイルのパス
参考
(src)
ソース
→ PC_setting_default.vbs
→ Diff ツールなどで開くファイルのパスをテストでチェックするとき
開くファイルのパスをテストでチェックするとき
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 関数を呼び出すのではなく、
OpenFolder 関数
を呼び出して
ください。
← ▼ ▲
Function Setting_getEditorCmdLine( i as integer or string ) as string
テキスト エディターを開くコマンドラインを返します。
Setting_getEditorCmdLine
【引数】
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
関連
→ エディター等の変更 （setting フォルダー）
→ GetEditorCmdLine
[ 親: setting フォルダー ]
参考
→ GetEditorCmdLine
のソース
→ GetEditorCmdLine
テキスト エディターで開くファイルのパスをテストでチェックするとき
ArgsLog
→ _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）を実行するコマンドラインのテンプレートを返します。
Setting_getDiffCmdLine
【引数】
i
返り値
コマンドラインの種類
コマンドライン文字列、Empty=対応できない
Diff のパスのみ返す。 "" で囲まないこと
i=0 のとき
C:\Program Files\Rekisa\Rekisa.exe
例：
例：
"C:\Program Files\Rekisa\Rekisa.exe" "%1" "%2"
比較する２つのファイルのパスを %1, %2 にした、Diff を起動するコマンド
ラインを返す。
i=2 のとき
比較する３つのファイルのパスを %1, %2, %3 にした、Diff を起動する
コマンドラインを返す。 対応できないときは、Empty を返す。
"C:\Program Files\Rekisa\Rekisa.exe" "%1" "%2" "%3"
例：
i=3 のとき
→ GetDiffCmdLine
関連
→ Rekisa - テキスト比較ツール
i=21 のとき
"C:\Program Files\Rekisa\Rekisa.exe" -Y+1=%L
-ActiveFile="%1" "%1" "%2"
例：
比較する２つのファイルのパスを %1, %2 にして、%1 の行番号を
%L にした、Diff を起動するコマンドラインを返す。
比較する２つのファイルのパスを %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"
例：
比較する３つのファイルのパスを %1, %2, %3 にして、%1 の行番号を
%L にした、Diff を起動するコマンドラインを返す。
i=31 のとき
比較する３つのファイルのパスを %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"
例：
比較する３つのファイルのパスを %1, %2, %3 にして、%3 の行番号を
%L にした、Diff を起動するコマンドラインを返す。
i=33 のとき
"C:\Program Files\WinMerge\WinMergeU.exe" "%1" "%2"
例：
→ エディター等の変更 （setting フォルダー）
[ 親: setting フォルダー ]
参考
Diffを実行するコマンドラインを返す
Diff ツールなどで開くファイルのパスをテストでチェックするとき
ArgsLog
→ _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 に追記
します。
→ TortoiseMerge - テキスト比較ツール
→ Diff ツールなどで開くフォルダーのパスをテストでチェックするとき
← ▼ ▲
Setting_getFolderDiffCmdLine
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"
比較する２つのフォルダーのパスを %1, %2 にした、Diff を起動するコマンドラインを返す。
i=2 のとき
比較する３つのフォルダーのパスを %1, %2, %3 にした、Diff を起動して比較を実行する
コマンドラインを返す。 対応できないときは、Empty を返す。
"C:\Program Files\DF\DF.exe" "%1" "%2" "%3"
例：
i=3 のとき
→ エディター等の変更 （setting フォルダー）
参考
i=30〜37のとき
比較する３つのフォルダーのパスを %1, %2, %3 にした、Diff を起動するコマンドラインを返す。
ただし、i=30 のときは比較を実行しない（起動後にユーザーが開始することはできる）。
i = 33, 35, 36 のときは、２つの比較を実行する。 i の 1の位は、%1=1, %2=2, %3=4 の論理和。
つまり、33=%1と%2、34=%1と%3、36=%2と%3 を比較する。 起動後にユーザーが 3つの比較を
することはできる。
対応できないときは、Empty を返す。
→ GetDiffCmdLine
関連
Diffを実行するコマンドラインを返す
ソース
→ PC_setting_default.vbs
例：
"C:\Program Files\master2\master2.exe" "%1" "%2" "%3" -e=5
Diff ツールなどで開くフォルダーのパスをテストでチェックするとき
→ _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 に追記
します。
DiffCUI_InCurrentProcess
← ▼ ▲
Setting_getAdminUserName
%APPDATA%\Scripts\account_setting.vbs
ファイルを新規作成して下記のように記述してください。
Function Setting_getAdminUserName()
Setting_getAdminUserName = "Administrator"
End Function
Function Setting_getAdminUserName() as string
管理者のユーザー名を返します。
Windows XP で自分が管理者であったり、Windows 7 で管理者になれる
ユーザであれば、関数定義の記述は不要です。
参考
→ setting フォルダに入れる関数の作り方
[ 親: setting フォルダー ]
管理者のユーザー名は、
g_admin
= 1 にしたときに使われます。
← ▼ ▲
Setting_buildTestPrompt
Sub Setting_buildTestPrompt( Prompt as TestPrompt )
テスト・プロンプトの設定を行います。
(src)
→ 設定ファイル TestPrompt_Setting.vbs
→ setting フォルダに入れる関数の作り方
参考
[ 親: setting フォルダー ]
【引数】
Prompt
設定 （TestPrompt_Setting.vbs のサンプルを参照）
→ テスト・プロンプト (Test.vbs)
→ Tests::AddTestScriptAuto
プロンプトのメニュー項目を設定します。
テスト・スクリプト（Test.vbs）を登録します。
← ▼ ▲
Setting_get7zExePath
Function Setting_get7zExePath() as string
[ 親: setting フォルダー ]
ソース
→ PC_setting_default.vbs
7-Zip
の 7z.exe のパスを返します。
← ▼ ▲
Setting_getTemp
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
DateAdd
下記は、Setting_getTemp を定義していないときと同じ設定です
g_TempFile
テンポラリ・フォルダの設定に関するオブジェクト。
Dim g_TempFile as TempFileClass
env
out_FolderPath や out_LimitDate に値を代入しなかったら、デフォルト値が
使われます。
out_LimitDate 引数に出力した日時より前のタイムスタンプを持つファイルは、
GetTempPath で削除されます。 参考
→ 日付の比較
→ GetTempPath
→ setting フォルダに入れる関数の作り方
参考
[ 親: setting フォルダー ]
テンポラリ・ファイルのパスを返す
設定の変更
Setting_getTemp は、起動時に（vbslib.vbs の
InitializeModule
で）呼ばれます。
動的にテンポラリ・ファイルやテンポラリ・フォルダーの設定値を変更するときは、
以下のようにコーディングしてください。
include "Setting_getTemp.vbs"
g_TempFile = Empty '// Setup to set another folder path
get_TempFile
get_TempFile
Sub get_TempFile()
テンポラリ・ファイルやテンポラリ・フォルダーを設定します。
で）呼ばれます。
InitializeModule
起動時に（vbslib.vbs の
← ▼ ▲
Setting_getDiffPath
Function Setting_getDiffPath() as string
GnuWin の diff.exe のパスを返します。
GetExistPathInSetting
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
← ▼ ▲
Setting_getDiff3Path
Function Setting_getDiff3Path() as string
が入っているフォルダーのパスを返します。
GetExistPathInSetting
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)
← ▼ ▲
Setting_getPatchPath
Function Setting_getPatchPath() as string
GnuWin の patch.exe のパスを返します。
GetExistPathInSetting
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
の返り値も、それに合わせてください。
← ▼ ▲
Setting_getPerlPath
Function Setting_getPerlPath() as string
スクリプトのホスト(.exe) のパスを返します。
Perl
GetExistPathInSetting
Perl がインストールされていないと、
による警告がされます。
[ 親: setting フォルダー ]
この関数の定義は、ユーザーが変更できます。
定義サンプル
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
←
↓