「(の使い方が間違っています」というbatのエラー

文法エラーのときは、@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 コメント