(for Internet Explorer)
← ▼ ▲
↑
SetTask
タスクの開始時間を再設定します。
番号またはコマンド >SetTask
タスクの開始時間を再設定します。
タスク名（登録済みのもの）>vbslib_test
例： 13:00 ... 今が午前10時なら、今日の午後1時に実行する
例： 1:00 ... 今が午前10時なら、明日の午前1時に実行する
例： +1:00 ... 今から1時間後に実行する
いつ実行を開始しますか>+0:01
SetTask
テスト
[ 親: vbslib のショートハンド・プロンプト ]
→ T_Task フォルダ
vbslib_test
+0:01
関連
→ CreateTask
→ OpenTask
ソース
→ vbslib Prompt.vbs
← ▼ ▲
Shutdown
PCの電源を切ったり再起動したりします。
番号またはコマンド >shutdown
1) PowerOff
2) Reboot
3) Hibernate
4) Sleep
5) Standby
番号を入力してください >
[ 親: vbslib のショートハンド・プロンプト ]
参考
→ Shutdown
shutdown
ソース
→ vbslib Prompt.vbs
← ▼ ▲
SortLines
テキストファイルの内容を行単位でソート（整列）します。
番号またはコマンド >SortLines
テキストファイルの内容を行単位でソート（整列）します。
入力ファイルのパス >C:\Folder\Input.txt
出力ファイルのパス（★上書きします）>C:\Folder\Output.txt
Enter のみ：残さない
同じ内容の行をそのまま残しますか [Y/N]
出力しました。
SortLines
C:\Folder\Input.txt
C:\Folder\Output.txt
Beckham
Christiano
Aguirre
Diego
Beckham
Input.txt
Output.txt
Aguirre
Beckham
Beckham
Christiano
Diego
Aguirre
Beckham
Christiano
Diego
Output.txt
Input.txt
Beckham
Christiano
Aguirre
Diego
Beckham
同じ内容の行をそのまま残すとき：
同じ内容の行をそのまま残さないとき：
ソース
→ vbslib Prompt.vbs
関連
→ SortStringLines 関数
→ grep
← ▼ ▲
SpaceToTab, TabToSpace, st, ts
テキストファイルのタブ文字と空白文字を変換します。
変換したら変換後のテキストファイルが開きます。
番号またはコマンド >SpaceToTab
テキストファイルのタブ文字と空白文字を変換します。
1) 行頭のタブ文字→空白文字 [TabToSpace]
2) 行頭の空白文字→タブ文字 [SpaceToTab]
3) 行頭の文字は変換しない [NoChange]
番号またはコマンド名を入力してください >SpaceToTab
1) 行頭以外のタブ文字→空白文字 [TabToSpace]（←Enterのみのとき）
2) 行頭以外の空白文字→タブ文字 [SpaceToTab]
3) 行頭以外の文字は変換しない [NoChange]
番号またはコマンド名を入力してください >TabToSpace
タブ文字のサイズ（Enterのみ=4）>
変換前のテキストが書かれたファイルのパス >C:\file.txt
SpaceToTab
→ T_ChangeTabSpace フォルダ
テスト
SpaceToTab
TabToSpace
C:\file.txt
関連
st コマンドを実行すると、行頭の空白文字→タブ文字が自動的に選ばれます。
ts コマンドを実行すると、行頭のタブ文字→空白文字が自動的に選ばれます。
→ タブ文字の幅を変えても崩れないソースコードの書き方 (Web)
参考
ソース
→ vbslib Prompt.vbs
[ 親: vbslib のショートハンド・プロンプト ]
コマンドラインで /AutoExit オプションを付けて起動したときは、変換後に自動的に終了します。
/AutoExit:1000 とすると 1秒後に自動的に終了します。
サンプル
→ Samples\SpaceToTab フォルダー
→ タブ文字変換関数、ChangeHeadSpaceToTab など
← ▼ ▲
StopScreenSaver
スクリーンセーバーを起動しないようにします。
番号またはコマンド >StopScreenSaver
-------------------------------------------------------------------------------
30秒ごとに自動的にシフトキーを押すことで、スクリーンセーバーを起動しないようにし
ます。
スクリーンセーバーを停止する時間（分）> 60
残り 60分
[ 親: vbslib のショートハンド・プロンプト ]
StopScreenSaver
60
ソース
→ vbslib Prompt.vbs
← ▼ ▲
Switches
[ 親: vbslib のショートハンド・プロンプト ]
仮想的なスイッチの設定に従って、複数のファイルを編集します。
たとえば、デバッグ用の設定とリリース用の設定を切り替えるスイッチを定義して、
デバッグに必要ないくつかのソース ファイルや設定ファイルの編集をまとめて行います。
<Switches>
<SwitchNow target_set_names="Debug"/>
<Switch set_names="Release, Debug"/>
<File path="debug.h">
<T line="whole">
<Debug>#define DEBUG 1</Debug>
<Release>// #define DEBUG 1</Release>
</T>
</File>
</Switches>
Switches.swit 設定ファイル：
サンプル
debug.h
:
// #define DEBUG 1
:
debug.h
:
#define DEBUG 1
:
↑ コメント アウト // による無効化
Switches を実行すると、
Debug 設定にスイッチします。
…
…
スイッチの１つを定義。
スイッチの値は、コンマ区切り
（CSV 形式）、で指定します。
Debug にスイッチしたときと、
Release にスイッチしたときの
debug.h ファイルの一部の
テキストを指定しています。
…
スイッチ
番号またはコマンド >Switches
-------------------------------------------------------------------------------
環境に合わせて複数のテキスト ファイルを自動編集します。
設定ファイルのパス >C:\work\Switches.trans
-------------------------------------------------------------------------------
C:\work\Text1.txt
C:\work\Text2.txt
C:\work\File.txt
C:\work\Folder
以上のファイルを編集します。
続行するには Enter キーを押してください . . .
-------------------------------------------------------------------------------
C:\work\Text1.txt
C:\work\Text2.txt
C:\work\File.txt
C:\work\Folder
編集しました。
Switches
Switch タグ、File タグ、T タグは、複数指定できます。
debug.h ファイルの中で、// #define DEBUG 1 を検索して、見つかったら、
#define DEBUG 1 に置き換えます。
→ 詳細
関連
→ Translate
ソース
テスト
→ T_Switches.vbs
→ vbslib Prompt.vbs
↑ コメント アウト削除による有効化
どのスイッチの値も対象のファイルにないときは、エラーになります。
→ (test) ToolsLib.vbs
→ ToolsLib.vbs
注意
コードのサイズを減らすために #if を使うと、整合性を取ることが非常に難しくなります。
DoTextShrink
でコードのサイズを減らすとよいでしょう。
← ▼ ▲
Switches の設定ファイル
Switches/SwitchNow
@target_set_names
切り替えた後のスイッチの値。
複数の値を指定するときは、CSV 形式（コンマ区切り）で記述します。
切り替えるたびに記述しなおしてください。
例： target_set_names="Debug, Minimum"
@verbose
デバッグ用の詳細表示をするかどうか。 "yes" か "no"。
Switches/Switch
@set_names
スイッチの値の定義。
CSV 形式（コンマ区切り）で記述します。
通常、オンかオフに相当する２つのシンボルを記述しますが、
３つ以上記述することもできます。
複数のスイッチを定義できますが、スイッチの値の名前空間はグローバル
ですので、衝突しないようにしてください。
１つのみ
複数可能
Switches/File
下記の他に、
Variable タグ
も、記述できます。
<< Switches
複数可能
@path
内容を置き換えるテキストファイルのパス。
Switches/File/T
複数可能
@line
省略時は、置き換えるテキストが行の途中にあっても置き換えます。
"head" の時は、行の先頭のみ置き換えます。
"whole" の時は、行の全体に対して置き換えます。
Switches/File/T/(スイッチの値)
text()
スイッチの値がこれまで設定されていたときは、置き換える前のテキスト。
スイッチの値がこれから設定しようとしているときは、置き換えた後のテキスト。
Variable タグ
で定義した変数を参照することができます。
@variable
text() で、
で定義した変数を参照するかどうか。 "yes" か "no"。
Variable タグ
"no" のときは、${Var} のようなテキストは、変数の値に置き換わりません。
@cut_indent
text() から、行頭の空白やタブをカットしたテキストで処理するかどうか。
"yes" か "no"。 参考：
@indent
text() に、行頭の空白やタブを追加したテキストで処理するようにします。
"${Count}*${Character}" 形式で指定します。
例： "2*&#9;" … 2つのタブ、 "8*&#x20;" … ４つの空白
なお、&#〜; は、
XML の文字参照
です。
→ CutIndentOfMultiLineText
Switches/File/T/(スイッチの値)/(スイッチの値)/ ...
複数可能
複数可能
ネストしたスイッチの値は、And 条件として処理します。
なお、OR 条件を指定する方法はありません。 Variable タグを活用してテキストを指定して
ください。
例：
<T>
<Debug>
<Minimum>Debug and Minimun</Minimum>
<Full>Debug and Full</Full>
</Debug>
<Release>
<Minimum>Release and Minimun</Minimum>
<Full>Release and Full</Full>
</Release>
</T>
Switches/File/T/LinesStart[attribute_of='T']
１つのみ
置き換える範囲の直前の行にマッチするキーワード。
このキーワードにマッチした行の次の行から、LinesEnd[attribute_of='T']/text()
に指定したキーワードにマッチした行の前の行までが、同じ T タグを親要素に
持つタグで指定したテキストで置き換える範囲です。
text()
<T>
<LinesStart attribute_of="T">StartLine</LinesStart>
<LinesEnd attribute_of="T">EndLine</LinesStart>
<Minimum>Minimun</Minimum>
<Full>Full</Full>
</T>
例：
上記の設定で Full にスイッチすると、下記のように置き換わります。
Minimum
-- StartLine --
Minimum
-- EndLine --
Minimum
Minimum
-- StartLine --
Full
-- EndLine --
Minimum
text()
置き換える範囲の直後の行にマッチするキーワード。
参考 → LinesStart[attribute_of='T']
１つのみ
Switches/File/T/LinesEnd[attribute_of='T']
省略時は、スイッチの値のタグで囲まれたテキストでファイルの内容を
置き換えますが、
"path" を指定すると、スイッチの値のタグで囲まれたテキストを、
ファイルやフォルダーのパスとして処理します。 そして、スイッチの値に
よって、ファイルやフォルダーをコピーして置き換えます。 パスを指定しな
かったときは、ファイルやフォルダーを削除します。
@text_type
<File path="File.txt">
<T text_type="path">
<SetX>File\FileX.txt</SetX>
<SetY>File\FileY.txt</SetY>
<SetZ></SetZ>
</T>
</File>
例：
SetX にスイッチすると、File\FileX.txt から File.txt にコピーします。
SetY にスイッチすると、File\FileY.txt から File.txt にコピーします。
SetZ にスイッチすると、File.txt を削除します。
Switches の設定ファイルに記述できる XML の内容を説明します。
→ CutIndentOfMultiLineText
スイッチのスイッチには対応していません。
もし対応していれば、たとえば、A, B or C がオンの場合 X がオン、D or E がオンの場合 Y がオン
が定義できれば、同じ text() を 3つと 2つ書く必要がなくなります。
@dump
"yes" のときは、text() の内容をバイナリー形式でダンプします。
文字コード セットは、BOM 付き Unicode です。 省略時は "no" です。
スイッチの値がマッチしないときのヒントになります。
← ▼ ▲
SyncByShortcut
ショートカットが指すファイルを２つのフォルダー間で同期コピーします。
番号またはコマンド >SyncByShortcut
-------------------------------------------------------------------------------
ショートカットが指すファイルを２つのフォルダー間で同期コピーします。
設定ファイルのパス >
フォルダー (1): "C:\FolderA"
フォルダー (2): "C:\FolderB"
C:\FolderA\A.txt
C:\FolderB\sub\A.txt
以上のファイルを、対応するフォルダーにコピーします。
ソース
→ vbslib Prompt.vbs
テスト
→ T_SyncByShortcut フォルダー
SyncByShortcut
[ 親: vbslib のショートハンド・プロンプト ]
← ▼ ▲
SyncFilesT
複数のターゲット間でファイルの内容を一度に同期（マージ）することで、全てのターゲットが
最新の状態であることを維持できるようになります。
行がファイル、列がモジュールのターゲット、という表を表示して、同期するファイルの状況を
一覧できます。
番号またはコマンド >SyncFilesT
-------------------------------------------------------------------------------
>SyncFilesT
行がファイル、列がモジュールのターゲット、という表を表示して、すべてのターゲット
間で同期（マージ）することを支援します。
設定ファイルのパス >C:\Folder\SyncFilesT_Sample.xml
-------------------------------------------------------------------------------
ターゲット間で比較するファイルの kind 値を入力してください。
1. kind 値 1 のファイルを比較する
2. kind 値 2 のファイルを比較する
:
97. 再スキャンして、一覧を表示する [Reload]
98. 詳細を表示する [ShowDetail]
96. HTML ファイルを保存する [SaveHTML]
99. 終了 [Exit]
kind 値または上記の番号またはコマンド名>
テスト
→ T_SyncTable フォルダー
→ SyncFilesMenuLib.vbs
ソース
サンプル
ターゲット間でファイルを比較する、を選ぶと、
が起動するのでファイルの内容に
<SyncFilesT>
<HashList path="Committed MD5List.txt"/>
<ModuleFiles module_name="ModuleX">
<TargetFiles index="1" target_name="ModuleX\TargetA" path="ModuleX\TargetA"/>
<TargetFiles index="2" target_name="ModuleX\TargetB" path="ModuleX\TargetB"/>
<TargetFiles index="3" target_name="ModuleX\TargetC" path="ModuleX\TargetC"/>
<!-- index="1,2,3" -->
<File kind="1" description="A,A,B" name="g1.c" line_num="8"/>
<File kind="2" description="A, , " name="g2.c" line_num="9"/>
<File kind="2" description=" ,B,B" name="g3.c" line_num="10"/>
</ModuleFiles>
<CommittedFile hash="9a0baa2ed090b16796c55c156b5ffca9" revision="ModuleX\1\01\A"/>
<CommittedFile hash="a307d745bf90d586726f52a0689258fb" revision="ModuleX\1\01\B"/>
<CommittedFile hash="b927f9ad55f40d1b13688d417337d3e2" revision="ModuleX\2\01\A"/>
<CommittedFile hash="60422f855bd29aa68f7316855f43f4c1" revision="ModuleX\2\01\B"/>
</SyncFilesT>
上記の表は、下記の設定ファイルを開いたとき（SyncFilesT コマンドを起動したとき）に表示
されます。
Diff ツール
表が崩れているのは、ブラウザーが標準仕様に対応していないためです。
→ 詳細
表の色から、g1.c ファイルは、TargetA と TargetB で内容が同じであることを表しています。
同様に g3.c ファイルは、TargetB と TargetC で内容が同じであることを表しています。
同じ色でも行が異なれば、同じ内容ではありません。
01＼A は、リビジョン 01、description 記号 A という意味です。 リビジョンは、01 から始まる
整数に限られます。 description 記号が同じファイルは、同じ内容であるべきということを
表しています。
関連
→ ModuleAssort
→ ファイルの同期手順
SyncFilesT
C:\Folder\SyncFilesT_Sample.xml
ファイル名の左にある番号は、kind 番号です。 ターゲットによってファイル名が異なって
いても、kind 番号を合わせれば比較対象になり、同じ行に配置されます。
SyncFilesT の設定ファイル：
[ 親: vbslib のショートハンド・プロンプト ]
→ サンプル
→ 新規 SyncFilesT 設定ファイルの生成
→ SyncFilesT の設定ファイルの詳細
→ 新規作成
SyncFilesT を、起動すると、下記のサンプルのような表が表示されます。
ModuleX
TargetA
g1.c
g3.c
g3.c
g1.c
TargetB
g2.c
g3.c
TargetC
ついては、手動で同期してください。
上記の TargetA (index=1) の g2.c ファイルは、TargetB, TargetC の g3.c ファイルと同期を
とるように kind 番号を合わせています。 line_num の値は、自動的に更新されます
ターゲットのフォルダーの一部だけを比較対象にするときは、Folder タグ、File タグ、Except タグを
記述してください。 詳細
→ FF-path 属性対応の XML、path 属性と、Except タグ
<TargetFiles index="1" target_name="TargetA" path="TargetA">
<Folder path="TargetA">
<Except path="TargetA\Sub"/>
</Folder>
<Folder path="TargetA\Sub\1"/>
</TargetFiles>
TargetFiles タグの path 属性は、子ノードに Folder タグ、File タグ、Except タグがあるときは、
ターゲットのルート フォルダーを指定するたけで、比較対象のフォルダーにはなりません。
必要なら、上記のように、Folder タグで改めて指定してください。
→ SyncFilesT_Class、全ターゲット表
← ▼ ▲
新規 SyncFilesT 設定ファイルの生成
番号またはコマンド >syncfilest_new
-------------------------------------------------------------------------------
>SyncFilesT
SyncFilesT で使う設定ファイルのテンプレートを生成します。
各ターゲットのフォルダーが入ったフォルダーのパス >C:\ModuleX
>OpenForWrite "C:\_SyncFilesT_ModuleX.xml"
生成した上記の設定ファイルでよければ、上書きされないためにファイル名を変えて
ください。
syncfilest_new
SyncFilesT の設定ファイル
フォルダーの中の一部ファイルだけ同期するときは、同期するファイルだけを抽出するようにコピーを
するスクリプトを独自に作成して、コピーしたフォルダーに対して SyncFilesT ツールを使うとよいでしょ
う。 また、逆方向のコピーをするスクリプトも作成するとよいでしょう。
<SyncFilesT>
<ModuleFiles module_name="ModuleX">
<TargetFiles index="1" target_name="ModuleX\TargetA" path="ModuleX\TargetA"/>
<TargetFiles index="2" target_name="ModuleX\TargetB" path="ModuleX\TargetB"/>
<TargetFiles index="3" target_name="ModuleX\TargetC" path="ModuleX\TargetC"/>
<!-- index="1,2,3" -->
<File kind="1" description="A,A, " name="g1.c" line_num="8"/>
<File kind="1" description=" , ,B" name="g2.c" line_num="9"/>
<File kind="2" description="A,B,B" name="g3.c" line_num="10"/>
</ModuleFiles>
</SyncFilesT>
を新規に作成するときは、比較する各種ターゲットを１つのフォルダーに
SyncFilesT_new コマンド
を使って自動作成します。
ただし、TargetFiles/@index、File/@kind、 File/@description は、調整する必要があります。
TargetFiles タグを追加するときは、新規 index 属性の値が、他の index 属性の値と衝突していない
ことを検索して確認してください。 TargetFiles タグの index 属性の値を変更したときは、File タグの
description 属性も合わせて変更してください。
まとめてから、
ModuleX
TargetA
g1.c
g3.c
g3.c
g1.c
TargetB
g2.c
g3.c
TargetC
比較する各種ターゲットを１つのフォルダーにまとめて、
の SyncFilesT_new コマンドを実行すると、
vbslib のショートハンド・プロンプト
SyncFilesT の設定ファイルが、指定したフォルダーの親フォルダーにできます。
_SyncFilesT_ModuleX.xml
→ 詳細
上記は、TargetC の g2.c ファイルが、TargetA, TargetB の g1.c ファイルと同期をとるように
調整済みです。
<< SyncFilesT
File タグを追加するときは、新規 kind 属性の値が、他の kind 属性の値と衝突していないことを
検索して確認してください。 File タグの kind 属性の値を変更したときは、CommittedFile タグの
→ CommittedFile タグのサンプル
revision 属性も合わせて変更してください。
… このフォルダーを指定します。
← ▼ ▲
ファイルの同期手順
<< SyncFilesT
あるターゲットの１つのファイルに更新があったとき、SyncFilesT が表示する表は、下記のように変わります。
なお、表の中の 01＼A（ブラウザーによっては 01\A） の 01 は、リビジョン番号、A は、ターゲットの
description 記号です。 description 記号が同じなら、同じ内容のファイルであるべきことを表します。
kind 値または上記の番号またはコマンド名>1
-------------------------------------------------------------------------------
1)
Enter のみ：終了
c+番号：ターゲット間でコピーする
Target Number (Left or c+Source) >c1
Enter のみ：コピー終了
Target Number (Destination) >2
source_path = "C:\TargetA\g1.c"
destination_path = "C:\TargetB\g1.c"
コピーします。[Y/N]y
TargetA の g1.c ファイルの内容をすべて TargetB の g1.c ファイルにコピーするときは、次の黄色い
文字のように入力していってください。 ただし、コピー元のターゲット番号を入力するときは、番号の
先頭に c を付けてください。
1
c1
2
表の内容が、new_* （例：new_1＼A、ブラウザーによっては new_1\A）のときは、まだコミット（確定）してい
ないことを表しています。
コミット（確定）するには、
SyncFilesT の設定ファイル
に、以下のような CommittedFile タグを追加します。
<CommittedFile hash="9a0baa2ed090b16796c55c156b5ffca9" revision="ModuleX\1\02\A"/>
この CommittedFile タグは、ModuleX モジュールに含まれる、ファイルの kind 番号= 1、リビジョン
番号= 02、ターゲットの description 記号= A、のファイルをコミットしたことを表しています。 その
ファイルの内容に対応する
MD5 ハッシュ値
は、9a0baa2ed090b16796c55c156b5ffca9 です。
更新が必要ないファイルについても、リビジョン番号を更新したコミットをしてください。 このコミットに
より、更新内容を反映する必要がなかったことが表わせます。 すべてのファイルがコミット済みであっ
ても、リビジョン番号が異なれば、まだ反映していないとして、Modified の列に * が表示されます。
下記の表は、TargetA の更新内容を TargetB とTagetC に反映した結果、TargetC には変更がなかっ
たので、TargetA と TargetB に対してのみ新しい CommittedFile タグを追加したときの表です。 リビジョン
番号が小さい TargetC を、リビジョン番号01 から 02 に上げるように、MD5 ハッシュ値が同じ下記のような
CommittedFile タグを追加してください。
追加する CommittedFile タグに近い内容は、98. 詳細を表示する [ShowDetail] を選ぶと開くファイルの
最後に書かれています。 この詳細ファイルは、97. リロード で更新されます。 ただし、リビジョン番号は、
すでにある番号と異なる番号に変更する必要があります。 また、ターゲットの description 記号は、正しく
修正しなければならないことがあります。
更新があったファイル（TargetA の g1.c）の更新内容を、他のターゲットのファイル（TargetC の g1.c）に
ターゲット間で比較するファイルの kind 値を入力してください。
1. kind 値 1 のファイルを比較する
2. kind 値 2 のファイルを比較する
:
97. 再スキャンして、一覧を表示する [Reload]
98. 詳細を表示する [ShowDetail]
96. HTML ファイルを保存する [SaveHTML]
99. 終了 [Exit]
kind 値または上記の番号またはコマンド名>1
-------------------------------------------------------------------------------
1)
Enter のみ：終了
c+番号：ターゲット間でコピーする
Target Number (Left or c+Source) >1
Target Number (Right) >3
1
1
3
または
Diff ツール
SyncFilesX ツール
Diff ツールで（TargetC を）同期させた後、リロード（Enter で戻ってから 97. Reload）すると、次のように
表示が変わります。
TargetB は、TargetA と同じ内容になるべきなので、後述のようにコピーして同期します。
y
（TargetB に）コピーして同期させた後、リロード（Enter で戻ってから 97. Reload）すると、次のように
表示が変わります。
CommittedFile タグを追加した後、リロード（Enter で戻ってから 97. Reload）すると、次のように表示が
変わります。 同期する前に比べてリビジョン番号が増えています。 Modified の列が空欄になったら、
同期完了です。 96. HTML ファイルを保存 [SaveHTML] しておくとよいでしょう。
<CommittedFile hash="a307d745bf90d586726f52a0689258fb" revision="ModuleX\1\02\B"/>
:
<Committed____ hash="a307d745bf90d586726f52a0689258fb" revision="ModuleX\1\01\B"/>
… 追加
… 既存
現在、同じハッシュ値の CommittedFile タグは、最新リビジョンにしか付けられません。
既存の CommittedFile タグのタグ名を変えるなどして無効にしてください。
SyncFilesX ツール
MD5 リスト
を設定ファイルの HashList
が起動します。
反映して同期するときは、下記の黄色い文字のように入すると
が開くので、手動で同期してください。 前回、同期した内容の
タグに指定したときだけ、前回、同期したときの内容とも比較ができる
→ コミット済の設定ファイルのサンプル
←
↓