自動実行/コマンドライン

リネームを自動的に実行して自動的に終了する機能です。
特定のコマンドラインのオプションを付けて起動させることで、マクロを使用したリネーム、タイムスタンプ変更、属性変更、マクロを使用しない置換、変更UnDoができます。

デフォルト設定では、ウインドウを一切表示せずにリネームし、実行後には自動終了します。

コマンドラインで、以下のスイッチオプションを実装しています。
(コマンドライン?スイッチオプションって何? という人は、下の方にある実施手順を参考にしてください。)

オプションについて

お〜瑠璃ね〜むのコマンドラインオプション(スイッチ)には、大きく自動実行用の3種類と、その他のオプションがあります。

(1)/auto系オプション
 "/auto"を含むオプションで、これを正しく指定すると自動実行されます。

(2)置換オプション
 "s///"表記のオプションで、これを正しく指定すると置換が自動実行されます。

(3)UnDoオプション
 "/undo*"表記のオプションで、これを正しく指定すると変更UnDoが実行されます。

 その他のオプション
 自動実行時のデフォルトの動作を変更します。一部のオプションは通常時でも機能します。

(1)〜(3)のオプションは、同時に1つしか指定できません。

書式

書式1 (/auto系 または 置換s///)

allrename.exe ---- /auto{ 1..25 } -------------------------------------->
                |--- /autofile="[ path\ ]macroFile[ .bin ]" ---------|
                |--- /autoattr<attropt> -----------------------------|
                |--- /auto{ c | m | b }time<datetimeopt> ------------|
                |--- /auto{ c | m }time={ m | c }time[ new | old ] --|
                `--- s/regexp/replacement/[ g ][ i ][ e ]------------'

 > ---[ /file | /folder[ 0 | 1 | + ] ]---[ /subfolder{ 0..10 } ]----- >

 > ---[ /show | /hide ]---[ /noexit | /exit ]---[ /filter"string" ]--- >

 > ---[ /errmsg | /allmsg | /nomsg ]---[ /sort<sortopt> ]------------- >

 > ---[ /test ]---file(or directory) path }[...] --- <<

書式2 (/undo)

allrename.exe ------ { /undo | /undo{ 1..9 } }---[ /show | /hide ]----->

 > ---[ /noexit | /exit ]---[ /filter"string" ]---[ /test ]--- <<

書式3 (自動実行以外)

allrename.exe ---[ /file | /folder[ 0 | 1 | + ] ]---[ /filter"string" ]- >

 > ---[ /sort<sortopt> ]---[ /test ]---file(or directory) path }[...] -- <<

/auto系オプション

/auto1 〜 /auto25

これを指定すると、自動的に該当する番号のマクロが実行されます。
例えば /auto2 の場合、マクロモードで上から2番目のマクロが自動で実行されます。
/auto0 や、/auto26 等は数字が無効なので、/auto系オプションとは見なされず無視され、通常起動となります。
他の/auto系オプションと同時に使用できません。

/autofile="マクロファイル"

使用例:/autofile="C:\data\my_macro.bin"
これを指定すると、自動的に該当するマクロファイルのマクロが実行されます。
マクロファイルは、お〜瑠璃ね〜むと同じフォルダにある macro1.bin〜macro25.bin のマクロファイルをコピーして、そのファイル名を絶対パスで指定します。
=の後に、絶対パスを含めたファイル名を指定しますが、マクロファイルがお〜瑠璃ね〜むと同じフォルダにある場合は、絶対パス".bin"を省略することもできます。
他の/auto系オプションと同時に使用できません。
/autofile オプションの使い道
1〜25のマクロファイルを編集した場合、それ以前に作成していた /auto1〜25 を
含むコマンドを実行すると、編集後の書き換わったマクロの方が実行されてしまうため、
予想外のファイル名にリネームされてしまう可能性があります。
これを防ぐために、マクロファイルを別の名前にコピーしておき、/autofile= オプション
で指定すればこの問題を回避できます。

/autoattr<属性(4文字)>

これを指定すると、自動的に属性を変更します。マクロファイルは使用しません。
<属性(4文字)>の所は、0, 1, - のいずれかを組み合わせて4文字で指定します。
1ON0OFF-変更しないという意味です。
4文字は先頭から、読み取り専用属性、隠しファイル属性、アーカイブ属性、システム属性 の順です。
使用例1: /autoattr1--- 読み取り専用にする (他の3つの属性はそのまま)
使用例2: /autoattr-1-- 隠しファイルにする (他の3つの属性はそのまま)
使用例3: /autoattr0000 全ての属性をOFFにする
/autoattr0 や、/autoattr---2 等は無効なので、/auto系オプションとは見なされません。
他の/auto系オプションと同時に使用できません。

/autoctime<日時>(+秒数)

これを指定すると、自動的に作成日時のタイムスタンプを変更します。マクロファイルは使用しません。
<日時>の所は、以下のいずれかの書式を使用します。
YYYYMMDD
YYYYMMDDHHMMSS
today
todayHHMMSS
now
使用例1: /autoctime20140101 2014/1/1にする。
使用例2: /autoctimetoday 実行時の日付にする。
使用例3: /autoctimenow 実行時の日時にする。
+秒数は、通常は不要です。タイムスタンプの増分値(連番)が必要なときに指定します。
使用例4: /autoctimetoday010000+60 実行日の1:00、1:01、1:02・・・にする。
他の/auto系オプションと同時に使用できません。

/automtime<日時>(+秒数)

これを指定すると、自動的に更新日時のタイムスタンプを変更します。マクロファイルは使用しません。
<日時>の書式は、/autoctimeと同じです。
他の/auto系オプションと同時に使用できません。

/autobtime<日時>(+秒数)

これを指定すると、自動的に作成日時と更新日時の両方のタイムスタンプを変更します。マクロファイルは使用しません。
<日時>の書式は、/autoctimeと同じです。
他の/auto系オプションと同時に使用できません。

/autoctime=mtime、/autoctime=mtimenew、/autoctime=mtimeold

これを指定すると、自動的に作成日時が更新日時と同じになります。マクロファイルは使用しません。
new付きの場合、作成日時が新しくなる(進む)場合だけ変更されます。
old付きの場合、作成日時が古くなる(戻る)場合だけ変更されます。
他の/auto系オプションと同時に使用できません。

/automtime=ctime、/automtime=ctimenew、/automtime=ctimeold

これを指定すると、自動的に更新日時が作成日時と同じになります。マクロファイルは使用しません。
new付きの場合、更新日時が新しくなる(進む)場合だけ変更されます。
old付きの場合、更新日時が古くなる(戻る)場合だけ変更されます。
他の/auto系オプションと同時に使用できません。

置換オプション

置換オプションは、/auto系オプションの代わりに正規表現の書式 s/// を指定することで、 マクロを生成していなくても置換の自動実行ができるオプションです。
"s/<検索パターン>/<置換後の文字>/" の書式です。

置換オプションは、「s/」 の2文字で開始し(ダブルクォーテーションで囲んでいる場合は、「"s/」で開始し)、 「/」をちょうど3個含んでいる必要があります。
書式 tr/// はサポートしていません。

3個目のスラッシュの後に、g, i, e を付けることが出来ます。
g:全ての箇所が対象。gが無いと最初に見つかった1箇所のみ。
i:大文字小文字を区別
e:拡張子も対象

例1 "s/Jp/a/"  : JpnJpn.jpg → anJpn.jpg
例2 "s/Jp/a/g" : JpnJpn.jpg → anan.jpg
例3 "s/jp/a/gi" : JpnJpn.jpg → anan.jpg
例4 "s/jp/a/gie": JpnJpn.jpg → anan.ag

お〜瑠璃ね〜むの複数置換の機能も利用できます。
複数置換機能では、区切り文字として「/」を使用していますので、 s///の「/」と同じ文字が使われますが、以下の2点を満たすことで利用できます。
・「s///」の「/」も含めた全体の「/」の数が奇数であること(5〜17の範囲)
・「\/」のようにスラッシュのエスケープは不要です(してはいけません)。

例1 "s/12/34/a/b/"  : 123456.jpg → ab56.jpg
例2 "s/12/34/56/a/b/c/" : 123456.jpg → abc.jpg
例3 "s/12/34/56/a/b/c/d/" : × (スラッシュの数が偶数のためNG。通常起動となる)

変更UnDoのオプション

/undo、/undo1〜9

これを指定すると、変更UnDo(アンドゥ)を自動実行します。
数字で何回前のリネームをUnDoするかを決めます。
直前のリネームをUnDoするなら、/undo1 または /undo を指定します。

/auto系以外のオプション

/show

これを指定すると、自動実行中にウインドウを表示します。
自動実行中に誤ってクリック等をしないためにも、通常は指定しなくて良いです。
/auto系 のオプションが無いと無効です。

/hide (既定値)

これを指定すると、自動実行中にウインドウは表示されません。
デフォルト値のため、通常は付ける必要はありません。 自動実行時の付与オプション設定で "/show" を指定している場合で、 これをコマンドラインから打ち消したい場合のみに指定します。

/noexit

これを指定すると、自動実行した後に自動終了しなくなります。
/auto系 のオプションが無いと無効です。

/exit (既定値)

これを指定すると、自動実行した後に自動終了します。
デフォルト値のため、通常は付ける必要はありません。 自動実行時の付与オプション設定で "/noexit" を指定している場合で、 これをコマンドラインから打ち消したい場合のみに指定します。

/file

ファイルとフォルダのうち、ファイルを対象としたい場合に付与するオプションです。
前回の終了時の状態がフォルダ名変更モードのままで終了すると、 このオプションを付与せずに自動実行した時にフォルダ名が対象となってしまいます。 /file を付与することでファイル名変更モードで起動し、誤動作を防ぎます。
ver4.8以降を初めてインストールした場合は、自動実行時の付与オプション設定 に "/file"が設定されていますので、 デフォルト値として、ファイルが対象となります。
/auto系のオプションが無い場合(自動実行時以外)でも機能します。

/folder

ファイルとフォルダのうち、フォルダを対象としたい場合に付与するオプションです。
通常は前回の終了時の状態で起動しますが、/file と同様、これを指定すると一時的にフォルダ名変更モードで起動します。
ver4.8以降を初めてインストールした場合は、自動実行時の付与オプション設定 に "/file"が設定されていますので、 フォルダ名を対象としたい場合は、/folderの付与か、後述する /folder0/folder1 の付与が必須となります。
/auto系のオプションが無い場合(自動実行時以外)でも機能します。

/folder0 または /folder1

/folderオプションの代わりに使用するオプションです。
/folder0 の場合は、読み込ませたフォルダ名自身をリネームの対象にします。
/folder1 の場合は、読み込ませたフォルダの1階層下のフォルダをリネームの対象にします。
/folder の場合には、読み込まれるフォルダの階層は、前回の終了時の状態に従います。
コマンドラインでフォルダ名も引数で渡すような場合には、予期しない階層のフォルダ名変更が変更されてしまわないよう、 /folder オプションよりも、/folder0/folder1 オプションの方を推奨します。
/auto系のオプションが無い場合(自動実行時以外)でも機能します。

/folder+

/folder+ は読み込ませたフォルダだけでなくその配下のフォルダを対象にします。
/folder/folder0/folder1 と違い、複数の階層のフォルダを対象にするということです。
このオプションを実装することに合わせ、もしリストの上にあるフォルダがリストの下にあるフォルダのパスに影響を与えそうな場合、追従してリストを修正する機能を実装して対応しました。
/auto系のオプションが無い場合(自動実行時以外)でも機能します。

/subfolder0 〜 /subfolder10

ファイルを読み込む場合に、サブフォルダを何階層まで読み込むかのオプションです。
通常は前回の終了時の設定で起動しますが、これを指定すると 0〜10 で指定した階層の値が一時的に使用されます。
ver4.8以降を初めてインストールした場合は、自動実行時の付与オプション設定 に "/subfolder0"が設定されています。
/subfolder0 は、サブフォルダのファイルを読み込みません。
/subfolder1〜/subfolder9 は、その数字の階層まで読み込みます。
/subfolder10 は、10階層ではなく、階層の深さに制限なしです。
/auto系 のオプションが無いと無効です。

/filter"絞り込みの文字"

これを指定すると、起動直後に絞り込みボックス内に"絞り込みの文字"で指定した文字が入力されます。
これにより、リネーム対象を絞り込むことができます。
使用例:/filter"a*"  リストに読み込まれたファイルのうち、aから始まるファイルが対象となります。
絞り込み文字に半角スペースが含まれていない場合は、ダブルクォーテーションは不要です。
/auto系のオプションが無い場合(自動実行時以外)でも機能します。

/sort[ソート方法]

これを指定すると、起動時に読み込まれたファイルのリストが並べ替え(ソート)されます。
お〜瑠璃ね〜むでは、リストに読み込まれる順番はファイル名順とは限りませんので、 連番付与の自動実行をする場合に /sortオプションが便利です。
/sort: 変更前ファイル名順  (/sortr: 逆順)
/sortext: 拡張子順  (/sortextr: 逆順)
/sortdir: フォルダ名順  (/sortdirr: 逆順)
/sortsize: ファイルサイズ順  (/sortsizer: 逆順)
/sortdate: 日時順  (/sortdater: 逆順)
/auto系のオプションが無い場合(自動実行時以外)でも機能します。

/errmsg または /allmsg

自動実行では、/errmsg と /allmsg のどちらも指定しない場合には、エラーが起こってもメッセージが表示されず、問題が起こっても気付かないかもしれません。
これらを指定すると、自動実行時でもメッセージボックスを最前面で表示するようになります。
メッセージが表示された場合は、そこで処理が止まっている状態となることに注意してください。
/errmsg では、自動実行時でエラーの場合にメッセージを表示します。
/allmsg では、自動実行時にも通常時と同様にメッセージを表示します。
/auto系 のオプションが無いと無効です。

/nomsg (既定値)

これを指定すると、エラーが発生しても何もメッセージを出さず、実行した後に自動終了します。
デフォルト値のため、通常は使用しないオプションです。
自動実行時の付与オプション設定で "/errmsg"か"/allrmsg"を指定している場合で、 これをコマンドラインで打ち消したい場合のみに指定します。

/test

これを指定すると、テストモードで起動します。
変更確認までが表示されますので、事前にコマンドのテストをすることができます。

意図しないリネームが実行されないよう、マクロの場合はマクロを普通に実行して問題ないことを十分確認し、 s/// を使う場合は/testオプションで動作を確認してから、実行を実施するようにしてください。

実施手順

以下の手順で実行できます。
(コマンドプロンプトやバッチファイルに慣れていれば下記の代わりにそちらの方法でも構いません。)

1.定期的に実行させたい処理をマクロで記録し、保存しておきます。
2.allrename.exe のショートカットファイルを作成します。
3.ショートカットファイルを右クリックしてプロパティを選択、プロパティを開きます。
4.プロパティのリンク先を以下のように編集します。
 編集前: C:\〜〜〜\allrename.exe
 編集後: C:\〜〜〜\allrename.exe /auto系オプション "フォルダ名"
5.ショーカットファイルをダブルクリックで実行します。
  自動的にマクロが実行され、指定したフォルダ配下のファイルがリネームされます。
  最初は、/testを付けてテストモードで試した方がよいです。問題ないことを確認して、/testを外します。

D:\folder1」というフォルダ以下にあるファイルを、マクロ記録で3番目に保存しているマクロで実行させる場合、
リンク先のところに
C:\〜〜〜\allrename.exe
と記述されているので、これを編集し、
C:\〜〜〜\allrename.exe /auto3 /file "D:\folder1"
というようにします。
リネーム対象が明確になるように、/file、/folder0、/folder1 のどれかを指定することをお勧めします。
フォルダ名は半角スペースの問題を避けるためダブルクォーテーションでくくるようにします。

複数のフォルダを指定したい場合は、
C:\〜〜〜\allrename.exe /auto3 /file "D:\image1" "D:\image2" "E:\image_bk"
のように複数のフォルダが指定できます。Windowsの引数の文字長制限があるため、多くのフォルダを指定できません。(せいぜい30個程度です。)

C:\〜〜〜\allrename.exe /auto3 /file /show "D:\image1"
のように、/show を付けると、自動実行の様子が画面表示されます。
不用意な操作をしてしまわないよう、通常は指定しません。

C:\〜〜〜\allrename.exe /autoattr00-- /noexit /file "D:\image1"
のように、/noexit を付けると、自動終了しないようにもできます。
ただし /show を付けずに /noexit を付けた場合は、 プロセスの強制終了をさせるしかなくなりますが、その必要がないよう3分後に自動的に終了します。

マクロは自動実行させたいが、対象のフォルダが毎回違う場合は、
C:\〜〜〜\allrename.exe /file /auto3
のように、フォルダ名を後ろに付けないショートカットファイルを作成し、実行させたいときに、 フォルダをそのショートカットファイル上にドラッグ&ドロップするという方法もできます。

直前のリネームを戻したい場合は、
C:\〜〜〜\allrename.exe /undo
のようにします。

マクロファイルを使わずに正規表現の置換をしたい場合は、
C:\〜〜〜\allrename.exe s/abc/def/ "D:\movies\"
のようにします。

オプションの優先順位

オプションは、後ろにある方が優先されます。
どれか1つが有効になるオプションの場合、自動実行時の付与オプション設定 で指定したオプションよりも、 実行時にコマンドラインオプションで指定したオプションが優先されます。

例)自動実行時の付与オプション設定が "/file" の場合
・コマンドで /auto1 のみ指定 : 1番目のマクロでファイル名を変更(/fileが有効)
・コマンドで /auto1 /folder0 を指定 : 1番目のマクロでフォルダ名を変更(/folder0が有効)
・コマンドで /auto1 /folder0 /file を指定 : 1番目のマクロでファイル名を変更(末尾の/fileが有効)

ファイルの監視リネームの実現

このツールでは、起動直後に自動実行、自動終了の機能を実装していますが、常駐して定期的に実行する機能は付けていません。
そのため、特定のフォルダ内を一定時間ごとにリネームさせたい場合は、上記手順で作成したショートカットファイルを、タスク・スケジューラのソフトウェアと組み合わせることで、定期的にリネームさせることができます。
(Windows標準のタスク・スケジューラは、コントロールパネル内にあります)
厳密にはフォルダ内を監視してリネームする機能ではありませんが、それに近いことが実現できます。