
文法エラーのときは、@echo offを外して、どこが文法エラーなのか分かるようにします。
初心者の場合は、@echo offは完成後に付けるのがいいでしょう。
set currentfile=<3current.dat
どういう意図で書いたのでしょうか?
<ファイル名はリダイレクトで、<3current.datは、「3current.datという名前のファイルから読み込む」という意味ですが、読み込む先がないので、無意味です。
また、その文は、リダイレクト部分を取り除くとset currentfile=になり、currentfileには何も代入されないので未定義になり、if not %currentfile% == %todayfile% (は、if not == 2024-01-04.txt (となって、比較演算子が来るべき所に(が来たので文法エラーです。
どう直せば良いかは、
set currentfile=<3current.dat
どういう意図で書いたのでしょうか?
次第です。
current.datは質問文中に登場しますが、3current.datは登場しないので、もしかするとタイプミスをしていて、かつ、タイプミスに気づいてないと言うことですかね?
current.datと言う名前のファイルの中身(1行目)を変数に代入したいのであれば、setじゃなくてset /pです。set /p currentfile=<current.dat

0 コメント