![見出し画像](https://assets.st-note.com/production/uploads/images/97989847/rectangle_large_type_2_e0bca8402e294ef345bb9a6daf60f05a.png?width=800)
サクラエディタで複数一括置換
試行錯誤の末出来るようになったので。備忘録です。
探してる途中で調べた、関係あるんだかないんだかなものも載ってます。
※03/01 batファイルの一部を訂正しました。「GFILE」のところです。
出来ること
正規表現を使用してGrep置換
複数条件
何種類か同時に変換batファイルに被せて(?)使える
batファイル全然使ったことがない弱弱なので、中身がどういう意味かはよくわかってません。
つかうもの
batファイル
パソコンに入っていたサクラエディタと、コマンドラインオプション(?)が使える、ということでbatファイルです。
準備
サクラエディタのバージョン確認
パソコンがWindows11かつ、サクラエディタが2.4.1以下だと、サクラエディタが二回に一回しか動かないため、サクラエディタのバージョンを上げる必要があります。
二回に一回と言いましたが、正確には「一回目はバックグラウンドで開く」「二回目にウィンドウに出てくる」という動作らしいです。
詳しくはこちら。
Windows11の仕様変更がなんとかかんとか、とか……? とりあえず、サクラエディタのバージョンを上げれば何とかなります。
batファイル
参考にしたサイトです。
ここだけで出来るようになっていれば、パソコン初心者名乗ってないです。
batファイルの中身。
@echo off
set target_path=%~dp1
cd /d "C:\Program Files (x86)\sakura"
START "" sakura -GREPMODE -GKEY="(.*)[#「(.*)」は大見出し]" -GREPR="# $1" -GFILE="*.*" -GFOLDER=%target_path% -GCODE=99 -GOPT=SPR2
START "" sakura -GREPMODE -GKEY="。$" -GREPR="、" -GFILE="*.*" -GFOLDER=%target_path% -GCODE=99 -GOPT=SPR2
exit 0
cd /d "C:\Program Files (x86)\sakura"
サクラエディタ本体の場所の記載です。人によって変わると思いますが、多分大体ここです。-GKEY="(.*)[#「(.*)」は大見出し]"
青空文庫形式の大見出しを検索するための正規表現です。サクラエディタの正規表現はこちら。-GREPR="# $1"
青空文庫形式の大見出しを、マークダウンの大見出し(?)に置換するものです。$1でグループの一つ目を参照しています。
これやるのがめんどくさくて、サクラエディタを挟んだ置換をしてます。-GFILE="*.*"
3/1追記。理由は分からないのですが、拡張子を認識しなくなっていたので変更。この表記だと、ファイル名も拡張子も問わない設定です。-GOPT=SPR2
サブフォルダーからも(S)正規表現を使用(R)して検索して、結果をファイルごとに(2)該当行だけ出力(P)する、という指示です。
「START」から始まる二行目は、複数同時に出来るかのテスト用なので、内容がないです。
最後の「exit 0」はコマンドプロンプト(batファイルが使うプログラム)を終了させるためのものみたいです。
サクラエディタ側の処理が終わったら終了……という動きになります。
batファイル作成時、文字コードをANSIにしないと動くものも動かなくなります。なりました。
文字化けして動かなくなるみたいです。詳しいことは分かりません。
実行
とりあえず試作として、適当な文章を用意しました。
![](https://assets.st-note.com/img/1676336153320-bx1S6bv6ID.png)
![](https://assets.st-note.com/img/1676336219081-38C5hVUlru.png?width=800)
コマンドプロンプトが一瞬開いた後、サクラエディタが開きます。ちょっと挙動不審みたいになりますが正常です。
検索条件を増やすと、複数タブ出てくるみたいですね。
結果表示いらないから置換だけしてくれ、って人は、GOPTにUをつけ足せば後ろで動きます。
おわり
パソコンよわよわなので、参考サイトを参照して尚失敗しました。
理由はいまだに分かってません。どうして……?
置換後の文字は出ないので、確認用として置換後の文字だけの検索をつくってもいいかもしれないです。
出来るようになってすぐに書いてるので、これから中身を増やしてきます。
この記事が気に入ったらサポートをしてみませんか?