[chcp 65001]を入れることによってコマンドプロンプトでUTF-8の文字が扱えるようになる|HUGOの記事を生成してWZ EDITORでファイルを開くWindowsバッチファイル|日付時刻をベースに|(echo %trim%)で変数trimの後ろの余分なスペースが取り除かれる
以下の文字列を、[honyarara.bat]というファイル名で保存するとバッチファイルになります。
以下の内容において、[chcp 65001]を入れることによってコマンドプロンプトでUTF-8の文字が扱えるようになります。
以下の内容において、[cd C:\Users\ai\Desktop\HUGO新規]は、新規ファイルを生成したいディレクトリ名をフルパスで考えて、自分の環境に合わせて書き換えてください。
@echo off
:: 文字コードをUTF-8に設定
chcp 65001 > nul
:: 現在の日時を取得
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /value') do set datetime=%%I
set datetime=%datetime:~0,14%
:: バッチファイル自身のフルパスを取得
set "batchpath=%~f0"
:: バッチファイルを一時ファイルにコピー
copy "%batchpath%" "%temp%\temp_batch.bat" >nul
:: 一時ファイルの内容を更新して元のファイルに上書き
(
echo @echo off
echo setlocal enabledelayedexpansion
echo.
echo :: Last updated: !datetime!
echo.
type "%temp%\temp_batch.bat"
) > "%batchpath%"
:: 一時ファイルを削除
del "%temp%\temp_batch.bat"
:: 以下、元のスクリプトの機能を実行
cd C:\Hugo\Benkyo\content\sakura-editor
set TIME2=%TIME: =0%
set mdfilename=%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%-%TIME2:~0,2%-%TIME2:~3,2%-%TIME2:~6,2%-09-00
(
echo +++
echo date = "%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%T%TIME2:~0,2%:%TIME2:~3,2%:%TIME2:~6,2%+09:00"
echo slug = "%mdfilename%"
echo categories = ["サクラエディタ","正規表現","日本語表現"]
echo tags = ["●●●タグ"]
echo title = "●●●タイトル"
echo +++
echo.
echo.
echo ## ●●●タイトル
echo.
) > "%mdfilename%.md"
start "" "C:\Program Files\WZ EDITOR 10\wzeditor.exe" "%mdfilename%.md"
exit /b
HUGOの更新時刻を生成するバッチ
@echo off
set TIME2=%TIME: =0%
echo lastmod = "%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%T%TIME2:~0,2%:%TIME2:~3,2%:%TIME2:~6,2%+09:00" | clip
コマンドプロンプトで["][<][>][&][|]は[^]でエスケープする|[%]は[%%]としてエスケープする
以下のコードを[SJIS][CR+LF]で[command-prompt-escape.mac]などのファイル名で[C:\Users%USERNAME%\AppData\sakura]に保存してください。 そのファイルは、サクラエディタのマクロとして使えます。 [SJIS]を採用するのは、[かな][カナ][漢字]などの2バイト文字を置換できるようにするための必須条件です。
//コマンドプロンプトの記号をエスケープする
S_ReplaceAll('[\r\n]+', '\n', 148);
S_ReplaceAll('"', '^"', 42);
S_ReplaceAll('<', '^<', 42);
S_ReplaceAll('>', '^>', 42);
S_ReplaceAll('&', '^&', 42);
S_ReplaceAll('|', '^|', 42);
S_ReplaceAll('%', '%%', 42);
//完了
//S_ReplaceAll('^(?!■).+$', '', 44);
//S_ReplaceAll('^[\r\n]+', '', 44);
S_ReplaceAll('[\n]+', '\r\n', 44);
S_ReDraw(0);
S_SelectAll(0);
S_Copy(0);
正規表現にかんして[(][)][[][]][<][>][?][|]を[¥]でエスケープする
以下のコードを[SJIS][CR+LF]で[command-prompt-escape.mac]などのファイル名で[C:\Users%USERNAME%\AppData\sakura]に保存してください。 そのファイルは、サクラエディタのマクロとして使えます。 [SJIS]を採用するのは、[かな][カナ][漢字][記号]などの2バイト文字を置換できるようにするための必須条件です。
Windowsのシステムロケールを[SJIS]から[UTF8]に変更すれば、もしかすると[dadadada.mac]を[UTF8][CR+LF]で保存しても、[かな][カナ][漢字][記号]などの2バイト文字を置換できるようになるかもしれません。 しかし、古いフリーウェアの[メニュー文字などが文字化けする]と使いづらいだろうことを懸念し、まだWindowsのシステムロケールを[UTF8]に変更する試みは、行なっていません。
■Windows 10の文字コード(システムロケール)をUTF-8に変更する方法 | PC,LAN,WiFi,NASの出張トラブル解決,中小企業のITサポートは(株)とげおネット
//正規表現の記号をエスケープする
S_ReplaceAll('[\r\n]+', '\n', 148);
S_ReplaceAll('(', '\(', 42);
S_ReplaceAll(')', '\)', 42);
S_ReplaceAll('[', '\[', 42);
S_ReplaceAll(']', '\]', 42);
S_ReplaceAll('<', '\<', 42);
S_ReplaceAll('>', '\>', 42);
S_ReplaceAll('?', '\?', 42);
S_ReplaceAll('|', '\|', 42);
//完了
//S_ReplaceAll('^(?!■).+$', '', 44);
//S_ReplaceAll('^[\r\n]+', '', 44);
S_ReplaceAll('[\n]+', '\r\n', 44);
S_ReDraw(0);
S_SelectAll(0);
S_Copy(0);