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