.batファイルの「rem」コメントによりエラー「25は現時点では予期されていませんでした」が発生します
Aug 20 2020
これは変じゃないですか?.bat remコマンドにはある種のエスケープコードがありますか?
file.bat:
rem https://sourceforge.net/p/jedit/bugs/4084/?limit=25
それを実行する:
C:\Users\admin>file.bat
25 was unexpected at this time.
C:\Users\admin>https://sourceforge.net/p/jedit/bugs/4084/?limit=25
エラーレベルは表示されません。
回答
4 aschipfl Aug 20 2020 at 06:10
このrem
コマンドは1つの引数、つまり/?
、をサポートしており、それに対して貪欲です。URLにその文字列が含まれています。
=
(ちょうどのような標準的なトークンのセパレータであるSPACE、TAB、,
、;
)など残りは別の(無効)コマンドとして解釈されるように思われます。
引用符の間に注釈テキストを入れると、が/?
検出されなくなったため、ここで役立ちます。
rem "https://sourceforge.net/p/jedit/bugs/4084/?limit=25"
あなたがこれを書くとき:
rem/ https://sourceforge.net/p/jedit/bugs/4084/?limit=25
その/?
部分も検出されなくなりました。しかし、などの特殊文字は&
、<
、>
、|
、(
そして)
その後、認識されています。
別の方法としては、使用することです::
実際に無効なラベル(ラベルで始まるでスタイルのコメントを、:
参照、goto /?
およびcall /?
):
:: https://sourceforge.net/p/jedit/bugs/4084/?limit=25
ここでは特殊文字は問題になりませんが、括弧で囲まれたコードブロック内で使用しないでください。
js2010 Aug 20 2020 at 00:26
ああ、それは変だ。Remは、/?に応答する通常のコマンドのようなものです。/?別の弦のどこかに埋もれています。住所を二重引用符で囲むと修正されると言われています。
C:\Users\admin>rem /?
Records comments (remarks) in a batch file or CONFIG.SYS.
REM [comment]
または、25を含まないこの文字列全体で、同じ結果が得られます。
rem https://sourceforge.net/p/jedit/bugs/4084/?limit=
Records comments (remarks) in a batch file or CONFIG.SYS.
REM [comment]