(for Internet Explorer)
バイナリーデータを base64 方式のテキストに変換します。 または、その逆変換をします。
番号またはコマンド >base64
---------------------------------------------------------------------------
1) Base64形式に変換する [Encode]
2) バイナリー・ファイルに戻す [Decode]
番号またはコマンド名>2
入力ファイル(テキスト形式)のパス>C:\input.txt
出力ファイルのパス(上書きします)>C:\output.jpg
出力しました。
base64
→ Base64
参考
関連
bash シェル・スクリプト・ファイルの " ", ' ', ` ` の対応関係が複数行にまたがっている場所を探します。
番号またはコマンド >BashSyntax
シェル・スクリプト・ファイルのパス >sample.sh
<WARNING msg="複数行にまたがっています" line="7">"</WARNING>
<WARNING msg="複数行にまたがっています" line="8">"</WARNING>
BashSyntax
sample.sh
ソース
→ vbslib Prompt.vbs
参考
英語以外の文字がファイルに入っていないことをチェックします。
番号またはコマンド >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
ソース
テスト
→ vbslib Prompt.vbs
→ T_CheckEnglishOnly.vbs
T_CheckEnglishOnly_sth
設定ファイル
関連
テスト
ソース
→ CommitCopyLib.vbs
→ CommitCopy フォルダー
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
同期するファイル
同期するフォルダー
同期するフォルダー
同期するファイル
同期
(ファイル・サーバー内、ローカルも可)
(ローカルPC内)
… 親フォルダーにあってもよい
_synced
2回目以降の画面:
共有フォルダー:(PC01) \\pc01\folder\share

2. 比較                         [Compare]
4. ワーク・フォルダーを開く     [OpenWork]
5. 共有フォルダーを開く         [OpenShare]
6. 前回の同期のフォルダーを開く [OpenSynced]
7. 更新(ワーク・フォルダーへコピー) [Update]
8. コミット(共有フォルダーへコピー) [Commit]
9. 前回の同期をコピーして更新         [UpdateForMerge]
使い方は下記。
前回の同期のフォルダーが無いときにこの画面になります。
初めて使うサーバーでは、複数のローカルPCから、TestMutex を実行してください。
使い方
Samples\CommitCopy フォルダー
_CommitCopy.vbs ファイルをテキスト・エディターで開き、XML 形式の設定を
編集して保存します。 参考:下記
_CommitCopy.vbs ファイルをダブルクリックすると、アプリケーションが起動します。
初めて使うときは、チェックアウトを選んでください。
を、ローカル PC の新しいフォルダー(ワーク
にある
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>

<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% です。
共有フォルダーの直下のフォルダーの中の一部が異なっていても、直下のフォルダー
全体のコピーが作られます。
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
プログラムのソースファイルの中にある、ドキュメントに変換できるコメントの形式を変換
します。
番号またはコマンド >ConvertDocumetCommentFormat
プログラムのソースファイルの中にある、ドキュメントに変換できるコメントの
形式を変換します。
変換する前のソースが入ったフォルダー >C:\src
変換後のソースを入れるフォルダー(★上書きします)>C:\out

Enter のみ: NaturalDocs
1. C言語の NaturalDocs [NaturalDocs]
変換前のコメント形式 >

Enter のみ: ${vbslib}\Samples\DocComment\doxygen.xml
出力するコメントのテンプレートが書かれたファイルのパス >
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 を最新の vbslib に置き換えます。
番号またはコマンド >ConvertToNewVbsLib
スクリプトが使っている古い vbslib を最新の vbslib に置き換えます。
  ver4 → ver5
事前に変換を行うフォルダーの ★バックアップ をとっておいてください。
変換を行うフォルダーのパス >C:\folder
C:\folder
ConvertToNewVbsLib
ソース
→ vbslib Prompt.vbs
の中にある
のコードを最新版に更新し、
scriptlib フォルダーにある vbs_inc.vbs と vbslib* フォルダーの内容を最新版に更新します。
メイン.vbs かどうかは、拡張子が *.vbs で、ファイルの中に "--- start of vbslib include ---"
があるかどうかで判定しています。
vbslib が入っている scriptlib フォルダーかどうかは、指定したフォルダーの中にある
scriptlib フォルダーの直下に vbs_inc.vbs ファイルがあるかどうかで判定しています。
scriptlib フォルダーを直接指定することもできます。
テスト
→ T_VbsLibUpdater.vbs
→ ToolsLib.vbs
コピー先に存在するファイルだけコピーします。
番号またはコマンド >CopyOnlyExist
コピー先に存在するファイルだけコピーします。
コピー先に存在するファイルがコピー元に無いときはエラーになります。
コピー元フォルダのパス>FolderA
コピー先フォルダのパス>FolderB
CopyOnlyExist
テスト
→ T_CopyOnlyExist フォルダ
FolderA
FolderB
ソース
→ vbslib Prompt.vbs
関連
セクション化されたテキストを集めます。
番号またはコマンド >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 に
記述された行番号の範囲のテキストを抽出します。
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>
指定時間に1回だけ実行するタスクを新規に登録します。
番号またはコマンド >CreateTask
指定時間に1回だけ実行するタスクを新規に登録します。
タスク名(任意)>vbslib_test
実行するコマンド>C:\Window\notepad.exe
例: 13:00 ... 今が午前10時なら、今日の午後1時に実行する
例:  1:00 ... 今が午前10時なら、明日の午前1時に実行する
例: +1:00 ... 今から1時間後に実行する
いつ実行を開始しますか>+0:01
CreateTask
テスト
→ T_Task フォルダ
vbslib_test
C:\Window\notepad.exe
+0:01
関連
ソース
→ vbslib Prompt.vbs
ソース ファイルからコメントを削除します。
番号またはコマンド >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 Prompt.vbs
サンプル
CutComment
参考
コマンドプロンプトの右端からあふれた文字列を1行にまとめます。
番号またはコマンド >CutLineFeedAtRightEnd
コマンドプロンプトの右端からあふれた文字列を1行にまとめます。
ファイルのパス>Text.txt

Enter のみ:80
1行の幅>
CutLineFeedAtRightEnd
ABCDEFGHIJKLMNOPQRST
UVWXYZ
END
ABCDEFGHIJKLMNOPQRSTUVWXYZ
END
Text.txt
ソース
→ vbslib Prompt.vbs
#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 フォルダー
テスト
関連
対応:
  #ifdef 〜 #endif、 #ifndef 〜 #endif、 #if 〜 #endif
  #ifdef 〜 #else 〜 #endif、 #ifndef 〜 #else 〜 #endif、 #if 〜 #else 〜 #endif

非対応:
  #elif
関連
を削除します。
番号またはコマンド >DelTemp
DelTemp
ソース
→ vbslib Prompt.vbs
番号またはコマンド >diff
[Diff] テキストファイルの比較
フォルダーのパスを指定すると、ファイルへの相対パスのベースフォルダーとして処理し
ます。
path1>C:\FolderA
path2>C:\FolderB

Enter のみ : 2つのファイルの比較
path3>

入力したベースフォルダーの中のファイルを指定してください。

Enter のみ:終了
path>C:\FolderA\File.txt

Enter のみ:終了
path>
2つ、または3つのテキストファイルの差分を表示します。
参考
番号またはコマンド >diff
[Diff] テキストファイルの比較
フォルダーのパスを指定すると、ファイルへの相対パスのベースフォルダーとして処理し
ます。
path1>C:\folder\file1.txt
path2>C:\folder\file2.txt

Enter のみ : 2つのファイルの比較
path3>
diff
C:\folder\file1.txt
C:\folder\file2.txt
ソース
→ vbslib Prompt.vbs
SVG ファイルを指定すると、その SVG ファイルは Snap Note から作成されたものとし、
Snap Note の「比較ツール用テキストを出力」した後のテキストを比較します。
フォルダーのパスを指定すると、ファイルへの相対パスのベースフォルダーとして処理します。
下記の場合、C:\FolderA\File.txt と C:\FolderB\File.txt を比較します。
同じベースフォルダーの組み合わせを続けたいときに、毎回2つまたは3つのファイルを
指定する必要が無く、2つまたは3つのフォルダーの中の1つのファイルだけ指定すれば、
比較ができます。
C:\FolderB
C:\FolderA
diff
C:\FolderA\File.txt
関連
使用する Diff ツールの変更