見出し画像

今日のメモを作成するバッチファイル

職場でバッチファイルを実行するもしくは同じショートカットを起動するとその日の日付のファイルをテキストエディタで開くようにしたいけどうまくいかないと相談を受けたので、ちょっと書いてみた。

@echo off
rem 今日の日付‗数値(09)のファイルを作りそのファイルを開く

setlocal EnableDelayedExpansion

set dateName=%date:~0,4%%date:~5,2%%date:~8,2%
for /l %%n in (0,1,9) do (
	set filename=%dateName%_%%n.txt
	if not exist "!filename!" (
		type nul > !filename!
		goto :next
	)
)
:next
start %filename%
exit

多分きっと、うまくいかなかったのはsetlocal EnableDelayedExpansionが足りなかったのでは?と思いました。

バッチファイルの変数はそのままでは最近の言語(javaとかpythonとか)を知ってるとちょっと気持ち悪い動きをするのでsetlocal EnableDelayedExpansionを定義します。

これでこのバッチファイルをその日初めて起動するとYYYYMMDD_0.txt(例:20210531_0.txt)が作成されます。次にもう一度このバッチファイルを起動すると、YYYYMMDD_1.txt(例:20210531_1.txt)が作成されます。

誰かの役に立てばいいな。

この記事が気に入ったらサポートをしてみませんか?