Open Live Writer では、レジストリを操作することで、アップロードディレクトリとファイル名を制御することができます。
デフォルトの状態だと、同じファイル名の画像が存在すると、ファイルが上書きされてしまいます。
レジストリの値を変更し、ファイル名の付け方を指定する
以下の場所に上書き設定が存在します。
Windows Live Writer
HKEY_CURRENT_USER\Software\Microsoft\Windows Live\Writer\Weblogs\{blog-id}\UserOptionOverrides\
Open Live WriterHKEY_CURRENT_USER\Software\OpenLiveWriter\Weblogs\{blog-id}\UserOptionOverrides\
{blog-id}は人によって異なる文字列です。
画面右で右クリックして、新規-文字列値を選択します
文字列値に「fileUploadNameFormat」を入力します。
値に、{Randomizer}/{AsciiFileName} と入力するとファイル名は「ランダムな文字列_元のファイル名.拡張子」 になります。これで、ファイル名が重複して画像ファイルが上書きされて消える事故を防ぐことができます。
使用できる文字列(組み合わせて使用します)
- {PostTitle}
- {PostRandomizer}
- {Randomizer}
- {FileName}
- {AsciiFileName}
- {AsciiFileNameWithoutExtension}
- {FileExtension}
- {WindowsLiveWriter} おそらく、Windows Live Writerのみ
- {OpenLiveWriter} おそらく、Open Live Writerのみ
- {UploadDate:format}
{UploadDate:format} の挙動
{UploadDate:format}を使うと、ファイル名に日付を付加することができます。
内部的には、以下のコードと同等の処理です。
String.Format(CultureInfo.InvariantCulture, "{0:format}", DateTime.Now);
ファイル名に、日付を付加することができます。
実行日が、2019年5月1日の場合、以下のような変換が行われます。
- {UploadDate:yyyy} → 2019
- {UploadDate:yyyyMM} → 201905
- {UploadDate:yyyyMMdd} → 20190501
{UploadDate:yyyyMMdd}/{AsciiFileName}とすれば、画像をアップロードした日付に元の画像のファイル名が付いた名前になります。