いつもの備忘録

IT技術系の備忘録です。

【コマンドプロンプト・サクラエディタ】コマンドプロンプトからサクラエディタを起動しGREP置換をする

コマンドプロンプトからサクラエディタを開き、
サブフォルダを含めてフォルダの中の文言をGREP置換する

#サクラエディタの配置場所へ移動
cd /d "C:\Program Files (x86)\sakura"
#置換対象のフォルダを設定
set target_path="C:\Tool"
#下記コマンドを実行
sakura -GREPMODE -GKEY="置換前文言" -GREPR="置換後文言" -GFILE="*.*" -GFOLDER=%target_path% -GCODE=99 -GOPT=SPRU

■-GOPTの説明
S:サブフォルダを含めるか。
U:サクラのウィンドウを勝手に閉じる
O:バックアップファイル作成(上記のサンプルにはつけていない)
詳しくは公式HPへ⇒https://sakura-editor.github.io/help/HLP000109.html

■注意事項:
・立て続けに実行すると「エディタまたはシステムがビジー状態です」というエラーになり実行失敗するので50件くらいまでを目安に実行した方がよいです。
・置換文字列内の特定の文字はエスケープしてください。
「\」は「\\」に置換する
「(」は「\(」に置換する
「)」は「\)」に置換する
・いうまでもないですが、バックアップは取った上で実行してください。

■おまけ
コマンドを生成するExcel関数です。(エスケープはしてくれません。)

B1「sakura -GREPMODE -GKEY="」
C1「" -GREPR="」
D1「" -GFILE="*.*" -GFOLDER=%target_path% -GCODE=99 -GOPT=SPRU」
D列「=IF(D3="","",$G$1&B3&$H$1&C3&$I$1)」

B列:変換前文言
C列:変換後文言
D列:コマンドが表示される

f:id:undertherock:20210219182450p:plain
コマンド錬成

エディタに貼り付けてエスケープして実行してください。

以上