Le commentaire «rem» dans le fichier .bat provoque l'erreur «25 était inattendu pour le moment»
N'est-ce pas bizarre? Les commandes .bat rem ont-elles une sorte de code d'échappement?
file.bat:
rem https://sourceforge.net/p/jedit/bugs/4084/?limit=25
L'exécuter:
C:\Users\admin>file.bat
25 was unexpected at this time.
C:\Users\admin>https://sourceforge.net/p/jedit/bugs/4084/?limit=25
Je ne vois aucun niveau d'erreur.
Réponses
La rem
commande prend en charge un argument, à savoir /?
, et elle en est gourmande. Votre URL contient cette chaîne.
L' =
est un séparateur de jeton standard (comme SPACE, TAB, ,
, ;
), et de sorte que le reste ne semble plus être interprété comme une autre commande (invalide).
Mettre le texte de la remarque entre guillemets aide ici car il /?
n'est plus détecté:
rem "https://sourceforge.net/p/jedit/bugs/4084/?limit=25"
Lorsque vous écrivez ceci:
rem/ https://sourceforge.net/p/jedit/bugs/4084/?limit=25
la /?
portion n'est plus détectée aussi. Cependant, les caractères spéciaux comme &
, <
, >
, |
, (
et )
sont ensuite reconnus.
Une autre alternative consiste à utiliser un ::
commentaire -style, qui est en fait une étiquette invalide (les étiquettes commencent par a :
, voir goto /?
et call /?
):
:: https://sourceforge.net/p/jedit/bugs/4084/?limit=25
Les caractères spéciaux ne sont pas un problème ici, mais cela ne doit pas être utilisé dans un bloc de code entre parenthèses.
Oh, c'est bizarre. Rem est comme une commande régulière qui répond à /? pour obtenir de l'aide, même si le /? est enterré quelque part dans une autre chaîne. On me dit que mettre l'adresse entre guillemets le résout.
C:\Users\admin>rem /?
Records comments (remarks) in a batch file or CONFIG.SYS.
REM [comment]
Ou toute cette chaîne sans le 25 donne le même résultat:
rem https://sourceforge.net/p/jedit/bugs/4084/?limit=
Records comments (remarks) in a batch file or CONFIG.SYS.
REM [comment]