(for Internet Explorer)
← ▼ ▲
↑
Base64
バイナリーデータを base64 方式のテキストに変換します。 または、その逆変換をします。
番号またはコマンド >base64
---------------------------------------------------------------------------
1) Base64形式に変換する [Encode]
2) バイナリー・ファイルに戻す [Decode]
番号またはコマンド名>2
入力ファイル（テキスト形式）のパス>C:\input.txt
出力ファイルのパス（上書きします）>C:\output.jpg
出力しました。
base64
→ Base64
参考
関連
→ new_BinaryArrayFromBase64
→ Base64 (BinaryArray)
← ▼ ▲
BashSyntax
bash シェル・スクリプト・ファイルの " ", ' ', ` ` の対応関係が複数行にまたがっている場所を探します。
番号またはコマンド >BashSyntax
シェル・スクリプト・ファイルのパス >sample.sh
<WARNING msg="複数行にまたがっています" line="7">"</WARNING>
<WARNING msg="複数行にまたがっています" line="8">"</WARNING>
BashSyntax
sample.sh
ソース
→ vbslib Prompt.vbs
[ 親: vbslib のショートハンド・プロンプト ]
← ▼ ▲
CheckEnglishOnly
参考
→ CheckEnglishOnly (exeファイル)
英語以外の文字がファイルに入っていないことをチェックします。
番号またはコマンド >CheckEnglishOnly
テキスト・ファイルの中に、英文字以外の文字が含まれるファイルを一覧します。
サブフォルダーも含めてチェックします。
Enter のみ：C:\vbslib\Samples\Translate\SettingForCheckEnglish.ini
設定ファイルのパス>
調べるフォルダのパス>C:\ProjA\src
<FILE path="TestData\KanjiInUnicode.txt">
<LINE num="2" text="漢字"/>
<LINE num="4" text="です。"/>
<SUMMARY count="2"/>
</FILE>
<FILE path="TestData\SJisInAscii.txt">
<LINE num="2" text="シフトJIS"/>
<LINE num="4" text="です。"/>
<SUMMARY count="2"/>
</FILE>
CheckEnglishOnly
C:\ProjA\src
ソース
テスト
→ CheckEnglishOnly 関数
→ vbslib Prompt.vbs
→ T_CheckEnglishOnly.vbs
T_CheckEnglishOnly_sth
設定ファイル
← ▼ ▲
→ CopyNotOverwriteFileClass
関連
テスト
CommitCopy
ソース
→ CommitCopyLib.vbs
→ CommitCopy フォルダー
→ SynchronizeFolder
→ DeleteSameFileClass
→ SyncFilesMenu
→ RepliCmp
CommitCopy は、共有フォルダーにある他の人が編集したファイルを上書きしないように排他制御
しながら、前回同期した内容と同じときだけ、上書き同期コピー（コミット/更新）をします。
SubVersion のようなサーバーは必要なく、単純なファイル・プロトコル(SMB)を使用し、
共有フォルダーに謎のファイルを作りません。 排他制御も行います。
コミット（共有フォルダーを変更）したら、_history\(現在日時) フォルダーにコピーが作られます。
他の人も編集していたときは、マージする必要があるファイルをワーク・フォルダーに作ります。
'---------------------------------------------[FileInScript.xml]
'<CommitCopy
' share_folder_path = "\\PC01\folder\share"
'/>
'--------------------------------------------[/FileInScript.xml]
Sub Main( Opt, AppKey )
CommitCopy_App AppKey, new_FilePathForFileInScript( Empty )
End Sub
'--- start of vbslib include ------------------------------
： （vbslib をインクルードして main を呼び出すコード）
サンプル
初めて使うときの画面：
共有フォルダー：(PC01) \\PC01\folder\share
1 .チェックアウト（ワーク・フォルダーへコピー） [CheckOut]
3. 排他制御のテスト [TestMutex]
4. ワーク・フォルダーを開く [OpenWork]
5. 共有フォルダーを開く [OpenShare]
6. 前回の同期のフォルダーを開く [OpenSynced]
ワーク・フォルダー
共有フォルダー
_CommitCopy.vbs
scriptlib
同期するファイル
同期するフォルダー
同期するフォルダー
同期するファイル
同期
（ファイル・サーバー内、ローカルも可）
（ローカルPC内）
… 親フォルダーにあってもよい
_synced
２回目以降の画面：
共有フォルダー：(PC01) \\pc01\folder\share
2. 比較 [Compare]
4. ワーク・フォルダーを開く [OpenWork]
5. 共有フォルダーを開く [OpenShare]
6. 前回の同期のフォルダーを開く [OpenSynced]
7. 更新（ワーク・フォルダーへコピー） [Update]
8. コミット（共有フォルダーへコピー） [Commit]
9. 前回の同期をコピーして更新 [UpdateForMerge]
使い方は下記。
前回の同期のフォルダーが無いときにこの画面になります。
初めて使うサーバーでは、複数のローカルPCから、TestMutex を実行してください。
_CommitCopy.vbs
vbslib include
使い方
Samples\CommitCopy フォルダー
_CommitCopy.vbs ファイルをテキスト・エディターで開き、XML 形式の設定を
編集して保存します。 参考：下記
_CommitCopy.vbs ファイルをダブルクリックすると、アプリケーションが起動します。
初めて使うときは、チェックアウトを選んでください。
を、ローカル PC の新しいフォルダー（ワーク
scriptlib フォルダー
にある
1.
2.
4.
前回同期したフォルダー
前回同期したファイル
… 前回の同期のフォルダー
_history
2014-01-01T12:00:00 (start)
2014-01-01T12:00:00 userA
_history
2014-01-02T12:00:00 userB
history.xml
2014-01-01T12:00:00 userA
2014-01-01T12:00:00 (start)
history.xml
… 変更されたら作られる
… 変更されたら作られる
… メイン・スクリプト
履歴フォルダー
前回のコミットと異なるファイルまたはフォルダーのコピーを履歴フォルダーに格納します。
前回のコミットと同じファイルやフォルダーは入りません。
更新（Update や UpdateForMerge コマンド）では、履歴フォルダーを更新しません。
履歴は、history.xml ファイルに記録されます。
ファイルまたはフォルダーの一覧が確認できます。
ファイルまたはフォルダーが削除されたことは、history.xml ファイルから分かります。
手動で XML 形式のコメント <!-- コメント --> を書くことができます。
history.xml
サンプル
<History>
<Commit name="2014-01-01T12:00:00 (start)">
<File name="同期するファイル.txt" entity="2014-01-01T12:00:00 (start)"/>
<Folder name="同期するフォルダー" entity="2014-01-01T12:00:00 (start)"/>
<File name="削除予定ファイル.txt" entity="2014-01-01T12:00:00 (start)"/>
</Commit>
<Commit name="2014-01-02T12:00:00 userB">
<File name="同期するファイル.txt" entity="2014-01-02T12:00:00 userB"/>
<Folder name="同期するフォルダー" entity="2014-01-01T12:00:00 (start)"/>
</Commit>
</History>
entity は、ファイルまたはフォルダーが入っている _history フォルダーの中のフォルダー
名です。
フォルダー名は、W3CDTF 形式の現在日時とコミットしたユーザー名です。
ユーザー名は、CommitCopyUI_Class::UserName で、デフォルトは、
%USERDOMAIN%\%USERNAME% です。
共有フォルダーの直下のフォルダーの中の一部が異なっていても、直下のフォルダー
全体のコピーが作られます。
[ 親: スクリプト・データ・ファイル (vbslib付属) ]
→ スクリプト・データ・ファイル (vbslib)
XML 形式に設定可能な項目
share_folder_path
共有フォルダーのパス
work_folder_path
name
プロンプトの中の共有フォルダーのパスの前に表示される内容。
デフォルトは、"CommitCopy"
ワーク・フォルダーのパス。デフォルトは、カレント・フォルダー
is_history_in_share
共有フォルダーに _history フォルダーを作るかどうか。
"yes" or "no"、デフォルトは "no"
→ T_CommitCopyUI.vbs
新しく共有フォルダーを作成するときは、共有フォルダーを作成して、その中にファイル
をコピーしてください。
3.
フォルダーにある
・フォルダーに相当）にコピーします。 なお、scriptlib フォルダーは、_CommitCopy.vbs
ファイルがあるフォルダーの親フォルダーに置くこともできます。
と、その親の親
_CommitCopy.vbs ファイル
_CommitCopy.vbs
scriptlib
← ▼ ▲
ConvertDocumetCommentFormat
プログラムのソースファイルの中にある、ドキュメントに変換できるコメントの形式を変換
します。
番号またはコマンド >ConvertDocumetCommentFormat
プログラムのソースファイルの中にある、ドキュメントに変換できるコメントの
形式を変換します。
変換する前のソースが入ったフォルダー >C:\src
変換後のソースを入れるフォルダー（★上書きします）>C:\out
Enter のみ: NaturalDocs
1. C言語の NaturalDocs [NaturalDocs]
変換前のコメント形式 >
Enter のみ: ${vbslib}\Samples\DocComment\doxygen.xml
出力するコメントのテンプレートが書かれたファイルのパス >
ConvertDocumetCommentFormat
→ ConvertDocumetCommentFormat 関数
関連
ソース
→ vbslib Prompt.vbs
→ DocComment フォルダー
C:\src
C:\out
現在、C言語の NaturalDocs 形式コメントから、doygen (Javadoc)形式コメントへの変換の
一部のみ可能です。
→ T_ConvertDCF フォルダー
サンプル
<Text id="Function"><![CDATA[
/**
* @brief ${Brief}
*
* @param ${Name} ${Brief}
* @return ${ReturnValue}${Descriptions}
*/
]]></Text>
テンプレートの一部を示します。
上記のテンプレートは、Text タグの id 属性が Function なので、以下のようにキーワード
が Function に指定された NaturalDocs 形式コメントが適用対象です。
/********************************************************
* Function: SampleFunction
* This is a brief.
*
* Arguments:
* Source - Input
* Destination - Output
*
* Return Value:
* Error Code. 0=No Error.
*
* Description:
* The output from <SampleFunction>.
*
* Example:
* > void main()
* > {}
*********************************************************/
errnum_t SampleFunction( int Source, int Destination )
{
return Source + Destination;
}
/**
* @brief This is a brief.
*
* @param Source Input
* @param Destination Output
* @return Error Code. 0=No Error.
*
* @par Description
* The output from @ref SampleFunction.
*
* @par Example
* @code
* void main()
* {}
* @endcode
*/
errnum_t SampleFunction( int Source, int Destination )
{
return Source + Destination;
}
NaturalDocs 形式コメントの例：
doxygen 形式コメントの例：
そして、上記のサンプルは、下記に示す doxygen 形式のコメントに変換します。
${Descriptions} は、Return Value: より下の部分に該当します。
行頭に> があると、@code 〜 @endcode で囲みます。
< > で囲まれたキーワードは、@ref (ハイパーリンク) が付きます。
見出しは、@par が付きます。
[ 親: vbslib のショートハンド・プロンプト ]
← ▼ ▲
ConvertToNewVbsLib
スクリプトが使っている古い vbslib を最新の vbslib に置き換えます。
番号またはコマンド >ConvertToNewVbsLib
スクリプトが使っている古い vbslib を最新の vbslib に置き換えます。
ver4 → ver5
事前に変換を行うフォルダーの ★バックアップ をとっておいてください。
変換を行うフォルダーのパス >C:\folder
C:\folder
ConvertToNewVbsLib
ソース
→ vbslib Prompt.vbs
[ 親: vbslib のショートハンド・プロンプト ]
メイン.vbs
の中にある
vbslib include
のコードを最新版に更新し、
scriptlib フォルダーにある vbs_inc.vbs と vbslib* フォルダーの内容を最新版に更新します。
メイン.vbs かどうかは、拡張子が *.vbs で、ファイルの中に "--- start of vbslib include ---"
があるかどうかで判定しています。
vbslib が入っている scriptlib フォルダーかどうかは、指定したフォルダーの中にある
scriptlib フォルダーの直下に vbs_inc.vbs ファイルがあるかどうかで判定しています。
scriptlib フォルダーを直接指定することもできます。
テスト
→ T_VbsLibUpdater.vbs
→ ToolsLib.vbs
← ▼ ▲
CopyOnlyExist
コピー先に存在するファイルだけコピーします。
番号またはコマンド >CopyOnlyExist
コピー先に存在するファイルだけコピーします。
コピー先に存在するファイルがコピー元に無いときはエラーになります。
コピー元フォルダのパス>FolderA
コピー先フォルダのパス>FolderB
CopyOnlyExist
テスト
→ T_CopyOnlyExist フォルダ
FolderA
FolderB
[ 親: vbslib のショートハンド・プロンプト ]
ソース
→ vbslib Prompt.vbs
→ copy_ex 関数
関連
← ▼ ▲
CreateFromTextSections
[ 親: vbslib のショートハンド・プロンプト ]
セクション化されたテキストを集めます。
番号またはコマンド >CreateFromTextSections
セクション化されたテキストを集めます。
MixedText タグがある XML ファイルのパス >C:\_setup_generated\_TextSectionPath.xml
Enter のみ：CreateFile タグに記述されたすべてのファイル
MixedText の id 属性 >C_Type
集めたテキストの出力ファイルのパス（★上書きします）>C:\Users\user1\Desktop\a.txt
集めました。
CreateFromTextSections
<MixedText id="C_Type">
<TextSection path="File1.txt#First"/>
<TextSection path="File1.txt#Third"/>
<TextSection path="File2.txt#Last"/>
</MixedText>
SettingA.xml
File1.txt
First Text
_
Second
String
_
Third Text
String
_
File2.txt
First Text
_
Second
String
_
Last Text
_
_ は空白を表す
出力内容
First Text
_
Third Text
String
_
Last Text
_
# の後は、検索キーワードです
関連
入力した「MixedText の id 属性」が C_Type の場合、/MixedText[@id='C_Type'] が指す XML 要素
の子ノード（TextSection 要素）の path 属性が指すセクションを集めます。
File1.txt などの空白だけの行はセクションの区切りです。
path="File1.txt#Third" の場合、File1.txt ファイルの中をキーワード Third で検索すると
Third Text の行がヒットします。 ヒットした行を含むセクションを集めます。
構造化テキストフォーマット
のページの区切り（空白）をセクションの区切りとして処理します。
セクション化されたテキストのアドレスを、下記のサンプルのような XML で指定してください。
ソース
→ vbslib Prompt.vbs
C:\_setup_generated\_TextSectionPath.xml
C_Type
C:\Users\user1\Desktop\a.txt
ModuleMixer
は、_setup_generated\_TextSectionPath.xml に MixedText タグがある XML ファイル
を出力します。
TextSection タグの path 属性に # があるときは、
TextSection タグの path 属性に # があるとき
TextSection タグに start_line 属性と end_line 属性があるとき
SettingA.xml
<MixedText id="C_Type">
<TextSection path="File1.txt" start_line="3" end_line="5"/>
<TextSection path="File2.txt" start_line="2" end_line="2"/>
</MixedText>
B_1
B_2
B_3
B_4
B_5
B_6
File2.txt
File1.txt
A_1
A_2
A_3
A_4
A_5
A_6
A_3
A_4
A_5
B_2
出力内容
TextSection タグに start_line 属性と end_line 属性があるときは、start_line から end_line に
記述された行番号の範囲のテキストを抽出します。
→ CreateFromTextSections 関数
CreateFile タグがあると、出力ファイルのパスの入力を省略できるようになります。
CreateFile タグがあるとき
<Root>
<CreateFile path="_out.txt" mixed_text_href="#C_Type"/>
<MixedText id="C_Type">
<TextSection path="File1.txt" start_line="3" end_line="5"/>
<TextSection path="File2.txt" start_line="2" end_line="2"/>
</MixedText>
</Root>
← ▼ ▲
CreateTask
指定時間に１回だけ実行するタスクを新規に登録します。
番号またはコマンド >CreateTask
指定時間に１回だけ実行するタスクを新規に登録します。
タスク名（任意）>vbslib_test
実行するコマンド>C:\Window\notepad.exe
例： 13:00 ... 今が午前10時なら、今日の午後1時に実行する
例： 1:00 ... 今が午前10時なら、明日の午前1時に実行する
例： +1:00 ... 今から1時間後に実行する
いつ実行を開始しますか>+0:01
CreateTask
テスト
[ 親: vbslib のショートハンド・プロンプト ]
→ T_Task フォルダ
vbslib_test
C:\Window\notepad.exe
+0:01
関連
→ SetTask
→ OpenTask
ソース
→ vbslib Prompt.vbs
← ▼ ▲
CutComment
→ CutCommentC 関数
ソース ファイルからコメントを削除します。
番号またはコマンド >CutComment
C言語のコメント（/* */ と // ）を削除します。
以下にフォルダーのパスを入力すると、*.c, *.h, *.cpp に対して処理します。
ファイルまたはフォルダーのパス（★上書きします）>C:\src
削除前：
// This is comment.
int g = 0;
/****************************
* Function: Sample
*****************************/
void Sample()
{
}
削除後：
int g = 0;
void Sample()
{
}
/* から */ の間と、// から その行末までを、削除します。
コメントだけからなる行は削除され、それより下の行は上に詰められます。
/* から */ の間が複数行のときにも対応しています。
コメントの中のコメント記号は、正しく無視します。
/* から */ は、ネストしないように扱われます。
コメントを削除する前の内容は上書きされて無くなるので、バックアップを取ってから
実行してください。
in_Path にフォルダーを指定したときは、サブ フォルダーも含めて、拡張子が c と h
と cpp のファイルを処理対象にします。
関連
C:\src
[ 親: vbslib のショートハンド・プロンプト ]
ソース
→ vbslib Prompt.vbs
サンプル
CutComment
← ▼ ▲
CutLineFeedAtRightEnd
参考
→ CutLineFeedAtRightEnd
コマンドプロンプトの右端からあふれた文字列を１行にまとめます。
番号またはコマンド >CutLineFeedAtRightEnd
コマンドプロンプトの右端からあふれた文字列を１行にまとめます。
ファイルのパス>Text.txt
Enter のみ：80
１行の幅>
CutLineFeedAtRightEnd
ABCDEFGHIJKLMNOPQRST
UVWXYZ
END
ABCDEFGHIJKLMNOPQRSTUVWXYZ
END
Text.txt
[ 親: vbslib のショートハンド・プロンプト ]
ソース
→ vbslib Prompt.vbs
← ▼ ▲
CutSharpIf
[ 親: vbslib のショートハンド・プロンプト ]
#ifdef 〜 #endif をカットします。
番号またはコマンド >CutSharpIf
#ifdef 〜 #endif をカットします。
変換するソースファイルのパス >C:\Source.c
#define シンボル >MY_PRIVATE
1) 定義されているときのコードを削除する
0) 定義されていないときのコードを削除する
番号を入力してください >1
変換しました。
CutSharpIf
C:\Source.c
ソース
→ vbslib Prompt.vbs
MY_PRIVATE
サンプル
#ifdef MY_PRIVATE
printf( "Private\n" );
#else
printf( "Public\n" );
#endif
printf( "Public\n" );
→ T_CutSharpIf フォルダー
テスト
関連
→ CutSharpIf 関数
対応：
#ifdef 〜 #endif、 #ifndef 〜 #endif、 #if 〜 #endif
#ifdef 〜 #else 〜 #endif、 #ifndef 〜 #else 〜 #endif、 #if 〜 #else 〜 #endif
非対応：
#elif
← ▼ ▲
DelTemp
→ OpenTemp
関連
テンポラリ・フォルダー
を削除します。
番号またはコマンド >DelTemp
DelTemp
[ 親: vbslib のショートハンド・プロンプト ]
ソース
→ vbslib Prompt.vbs
← ▼ ▲
番号またはコマンド >diff
[Diff] テキストファイルの比較
フォルダーのパスを指定すると、ファイルへの相対パスのベースフォルダーとして処理し
ます。
path1>C:\FolderA
path2>C:\FolderB
Enter のみ ： 2つのファイルの比較
path3>
入力したベースフォルダーの中のファイルを指定してください。
Enter のみ：終了
path>C:\FolderA\File.txt
Enter のみ：終了
path>
Diff
２つ、または３つのテキストファイルの差分を表示します。
参考
番号またはコマンド >diff
[Diff] テキストファイルの比較
フォルダーのパスを指定すると、ファイルへの相対パスのベースフォルダーとして処理し
ます。
path1>C:\folder\file1.txt
path2>C:\folder\file2.txt
Enter のみ ： 2つのファイルの比較
path3>
diff
C:\folder\file1.txt
C:\folder\file2.txt
→ Setting_getDiffCmdLine
[ 親: vbslib のショートハンド・プロンプト ]
ソース
→ vbslib Prompt.vbs
SVG ファイルを指定すると、その SVG ファイルは Snap Note から作成されたものとし、
Snap Note の「比較ツール用テキストを出力」した後のテキストを比較します。
フォルダーのパスを指定すると、ファイルへの相対パスのベースフォルダーとして処理します。
下記の場合、C:\FolderA\File.txt と C:\FolderB\File.txt を比較します。
同じベースフォルダーの組み合わせを続けたいときに、毎回２つまたは３つのファイルを
指定する必要が無く、２つまたは３つのフォルダーの中の１つのファイルだけ指定すれば、
比較ができます。
C:\FolderB
C:\FolderA
diff
C:\FolderA\File.txt
→ SyncFilesX ツール
関連
→ SyncFilesT ツール
使用する Diff ツールの変更
→ Rekisa - テキスト比較ツール
→ TortoiseMerge - テキスト比較ツール
→ diff 関数
→ ThreeWayMerge 関数
←
↓