コマンドマクロ(Command Macro)



コマンドマクロ機能は、コマンド書式でNameryの持つ基本変換+αを行える機能です。
各コマンドを連続置換書式で組み合わせることで、複数の変換を一度で行うことが出来ます。
コマンドの書式は以下のような形になります。

コマンド書式意味
SC(スイッチ,1,2,1,文字列) 連番処理
IN(スイッチ,位置,文字列) 挿入
DC(開始,文字数) 削除
EX(置換前,置換後) 置換
ET(スイッチ,文字列) 拡張子
DT(スイッチ,日付書式文字列) 日付
CC(スイッチ) 全半角
ST(開始,文字数,スイッチ,スイッチ)文字列ストック
SP(スイッチ) その他

XX(指定子) が基本的な書式です。これを複数 | 記号で結合して指定します。


★コマンド詳細

●SC(Sequential Count)
 スイッチの組み合わせで連番などの処理を行うコマンド

書式  SC(スイッチ,開始数字,桁数,増加値,文字列1,文字列2, … 文字列n)

スイッチ
スイッチ意味
F or fファイル名
W or w文字列
S or s半角スペース
N 連番
n 連番(桁揃えなし)
P 相対パス連番
p 相対パス連番(桁揃えなし)
D 基本フォルダ名
d 相対フォルダ名
E 英字連番
e 英字連番(小文字)
T or tストック文字列

使用例
元ファイル名が 「テキストA.txt」、「テキストB.txt」の場合
コマンド解説
SC(WSN,1,3,1,Namery) 通常の連番 Namery 001.txt
Namery 002.txt
SC(WSFWn,1,3,1,Namery,-1-) 文字列を2つ使用 Namery テキストA-1-1.txt
Namery テキストB-1-2.txt
SC(WSNW,1,3,1,Namery,-2006) 連番の後に文字列 Namery 001-2006.txt
Namery 002-2006.txt
SC(WSN,-1,3,-1,Namery) マイナス連番 Namery -01.txt
Namery -02.txt
SC(WSE,1,1,1,Namery) 英字連番 Namery A.txt
Namery B.txt
SC(WSE,27,1,1,Namery) 英字連番(2桁開始) Namery AA.txt
Namery AB.txt

文字列スイッチ W は、複数指定することが出来ます。その場合、文字列1、文字列2・・・と出た順番から使用していきます。
ストック文字列スイッチ T は、複数指定することが出来ます。その場合、ストックした順に使用していきます。
英字連番は、桁数および増加値は固定なので指定できません。

※ストックした文字列を使う場合は、先にSTコマンドで文字列をストックして下さい。


●IN(Insert)
 挿入処理用コマンド

書式  IN(スイッチ,挿入位置,文字列1,文字列2, … 文字列n)

スイッチ
スイッチ意味
W or w文字列
S or s半角スペース
N 連番
n 連番(桁揃えなし)
D 基本フォルダ名
d 相対フォルダ名
E 英字連番
e 英字連番(小文字)
T or tストック文字列

挿入位置指定
挿入位置指定意味
数値 数値文字数の場所に挿入されます
文字列前方検索で文字列とマッチした場所の後ろに挿入されます
数値を文字列指定する場合は""で囲みます
TOP ファイル名の先頭に挿入されます
END ファイル名の末尾に挿入されます

使用例
元ファイル名が 「テキスト 12345.txt」の場合
コマンド解説
IN(w,TOP,Namery ) 先頭に挿入する Namery テキスト 12345.txt
IN(w,4,Namery) 4文字目の後ろに挿入 テキストNamery 12345.txt
IN(w,"4",Namery) 文字列「4」があったら、その後ろに挿入 テキスト 1234Namery5.txt
IN(w, ,Namery) 半角スペースがあったら、その後ろに挿入 テキスト Namery12345.txt
IN(STSN,4,Namery) 4文字目の後ろに挿入 テキスト [ストック文字列] [連番] 12345.txt

数値、文字列、TOP、ENDを指定して柔軟な挿入が可能です。

文字列スイッチ W は、複数指定することが出来ます。その場合、文字列1、文字列2・・・と出た順番から使用していきます。
ストック文字列スイッチ T は、複数指定することが出来ます。その場合、ストックした順に使用していきます。
連番は、初期値1 増加値1 桁数自動 で固定なので指定できません。

※ストックした文字列を使う場合は、先にSTコマンドで文字列をストックして下さい。


●DC(Dell Character)
 削除処理用コマンド

書式  DC(開始数字,文字数)

開始数字・文字数指定
開始数字意味
数値 先頭からの文字数です
数値を文字列指定する場合は""で囲みます
文字数に特殊文字 END を使用している場合、後ろからの文字数に変わります
文字列先頭から最初に出てくる文字列を指定します
文字数に特殊文字 END を使用している場合、後ろからの文字列に変わります
TOP 特殊指定子。ファイル名先頭
文字数意味
数値 開始文字からの文字数です
数値を文字列指定する場合は""で囲みます
文字列末尾から最初に出てくる文字列を指定します
開始数字に特殊文字 TOP を使用している場合、前からの文字列に変わります
END 特殊指定子。ファイル名末尾

使用例
元ファイル名が 「Nameryテスト 3abc-0901.txt」の場合
コマンド解説
DC(2,3) 2文字目を含む以降3文字を削除 Nameryテスト 3abc-0901.txt
DC(TOP,3) 先頭から3文字削除 Nameryテスト 3abc-0901.txt
DC(TOP,c) 先頭から最初に出てくる「c」を含む部分を削除 Nameryテスト 3abc-0901.txt
DC(a,b) aからbまで削除(aとbを含む) Nameryテスト 3abc-0901.txt
DC(3、END) 後ろから3文字削除 Nameryテスト 3abc-0901.txt
DC(テ,END) 後ろから、後ろから初めて出てくる「テ」まで削除 Nameryテスト 3abc-0901.txt
DC("3",3) 先頭から最初に出てくる文字「3」を含む部分から3文字削除 Nameryテスト 3abc-0901.txt

指定子がTOPやENDの場合、数値と文字列の指し示す場所が変わってきます。


●EX(Exchange)
 置換処理用コマンド

書式  EX(置換元文字列,置換文字列)

使用例
元ファイル名が 「テキスト 123123.txt」の場合
コマンド解説
EX(123,456) 置換 テキスト 456123.txt

通常の仕様と同じで、前方一致一回のみ置換します。


●ET(Extension)
 拡張子処理用コマンド

書式  ET(スイッチ,文字列)

スイッチ
スイッチ意味
A 追加
D 削除
C 変更
B 大文字化
S 小文字化

使用例
元ファイル名が 「Namery.txt」の場合
コマンド解説
ET(D) 削除 Namery
ET(A,txt) 追加 Namery.txt.txt
ET(B) 大文字化 Namery.TXT

スイッチは複数指定可能です。


●DT(Date Time)
 日付処理用コマンド

書式  DT(スイッチ,日付書式文字列)

スイッチ
スイッチ意味
T 前方追加
B 後方追加

使用例
元ファイル名が 「Namery.txt」の場合
コマンド解説
DT(T,yymmdd_) 前方追加 060901_Namery.txt

日付書式は、日付書式ページを参照して下さい。


●CC(Change Character)
 全角半角処理コマンド

書式  CC(スイッチ)

スイッチ
スイッチ意味
r「全角」英字を「半角」に変換
R「半角」英字を「全角」に変換
n「全角」数字を「半角」に変換
N「半角」数字を「全角」に変換
a「全角」英数字を「半角」に変換
A「半角」英数字を「全角」に変換
s「全角」スペースを「半角」に変換
S「半角」スペースを「全角」に変換
k「全角カタカナ」を「半角カタカナ」に変換
K「半角カタカナ」を「全角カタカナ」に変換
h「全角ひらがな」を「半角カタカナ」に変換
H「半角カタカナ」を「全角ひらがな」に変換
c「全角カタカナ」を「全角ひらがな」に変換
C「全角ひらがな」を「全角カタカナ」に変換

使用例
コマンド解説
CC(AS) 英数字 と スペース のみ 全角 にします
CC(Rns) 英字 は 全角、数字とスペースは 半角 にします
CC(kh) 全角カナとひらがな を 半角カナ にします

スイッチは複数指定可能です。


●ST(Stock Word)
 文字列をストックしておけます。

書式  ST(開始数字,文字数,スイッチA,スイッチB)

開始数字・文字数指定
開始数字意味
数値 先頭からの文字数です
数値を文字列指定する場合は""で囲みます
文字数に特殊文字 END を使用している場合、後ろからの文字数に変わります
文字列先頭から最初に出てくる文字列を指定します
文字数に特殊文字 END を使用している場合、後ろからの文字列に変わります
TOP 特殊指定子。ファイル名先頭
文字数意味
数値 開始文字からの文字数です
数値を文字列指定する場合は""で囲みます
文字列末尾から最初に出てくる文字列を指定します
開始数字に特殊文字 TOP を使用している場合、前からの文字列に変わります
END 特殊指定子。ファイル名末尾
スイッチA意味
R or rReserve … 指定した文字列を削除しない
スイッチを指定しない場合、指定した範囲を削除する
スイッチB意味
R or rReverse … 指定した文字列以外を範囲とする
スイッチを指定しない場合、指定した範囲を対象とする

使用例
元ファイル名が 「Nameryテスト 3abc-0901.txt」の場合
コマンド解説ストックされる文字変更後ファイル名
ST(2,3,,) 2文字目を含む以降3文字をストック ame Nryテスト 3abc-0901.txt
ST(TOP,3,,) 先頭から3文字ストック Nam eryテスト 3abc-0901.txt
ST(TOP,3,r,) 先頭から3文字ストック(削除しない) Nam Nameryテスト 3abc-0901.txt
ST(TOP,3,,r) 先頭から3文字以外をストック eryテスト 3abc-0901 Nam
ST(1,3,,)|ST(1,3,,) 3文字ストックを2回行う (第一ストック) Nam
(第二ストック) ery
テスト 3abc-0901.txt

このコマンドは、文字列をストックしておく為のマクロ専用のコマンドです。DCコマンドの拡張版です。
STコマンドのみでは意味をなしません。STコマンドでストックした文字列は、SC、INコマンドで使用します。
複数ストック指定をすると、その都度ストックされ、先入先出(FIFO)で使用します。
複数ストックされた文字列は、ストックされた回数分だけ使用する事ができます。

指定子はDCコマンドと同じです。後ろ二つのスイッチを付けるかどうかが違います。
スイッチAをR指定子にすると、削除を行わずファイル名を変更しません。ストックのみします。
スイッチBをR指定子にすると、指定以外の部分を取得するようになります。


●SP(Special Command)
 その他のコマンド

書式  SP(スイッチ)

スイッチ
スイッチ意味
B ファイル名大文字化
S ファイル名小文字化
T 先頭文字のみ大文字化
E 英単語を区切って整形
R 前後の半角スペースを削除

使用例
元ファイル名が 「namery dokiDOKI PANIC.txt」の場合
コマンド解説
SP(B) 大文字化 NAMERY DOKIDOKI PANIC.txt
SP(E) 英単語を区切って整形 Namery Dokidoki Panic.txt



★コマンドを組み合わせる


●各コマンドを組み合わせる事で、かなり複雑な処理も出来ます。

例1) DC(TOP,-)|DC(-,END)|SC(FSE,27,1,1,)

処理前処理後説明
写真-猫まっしぐら-001.jpg
写真-猫まっしぐら-002.jpg
写真-猫まっしぐら-003.jpg
猫まっしぐら AA.jpg
猫まっしぐら AB.jpg
猫まっしぐら AC.jpg
不要な部分を除いて英字連番にする

例2) DC(TOP,猫)|DC(-,END)|DT(B,_yymmdd)|SC(WFSN,1,2,1,犬)|ET(S)

処理前処理後説明
写真-猫まっしぐら-001.JPG
写真-猫まっしぐら-002.jpg
写真-猫まっしぐら-003.JPG
犬まっしぐら_060901 01.jpg
犬まっしぐら_060901 02.jpg
犬まっしぐら_060901 03.jpg
不要な部分を除いて日付入り連番にし、拡張子を小文字に統一する

連続置換と合わせた例) ->_> |猫>象>虎>動物|DC(TOP, )|IN(END, ○×動物園にて)

処理前処理後説明
写真-猫 にゃーん.jpg
写真-象_ぱおーん.jpg
写真動物園-虎-がおー.jpg
動物 にゃーん ○×動物園にて.jpg
動物 ぱおーん ○×動物園にて.jpg
動物 がおー ○×動物園にて.jpg
連続置換でヘッダを整形し、削除+後方追加処理