Почему CMD игнорирует символ `;`? - PullRequest
0 голосов
/ 06 мая 2020

Мне просто интересно. Когда я набираю ; в cmd, он просто игнорирует его.

Я могу набрать ;;;;;;;;;;;;;;;, и он будет делать то же самое, но если я do ;a он выдаст ошибку.

Почему?

image;">

Ответы [ 3 ]

2 голосов
/ 06 мая 2020

Точка с запятой не игнорируется cmd.exe; скорее, он даже особенно известен, а именно как разделитель токенов, который используется для отделения команд от его аргументов и аргументов друг от друга. Вот все такие символы:

  • ПРОБЕЛ (код 0x20)
  • TAB (горизонтальный табулятор, код 0x09)
  • , (запятая, код 0x2C)
  • ; (точка с запятой, код 0x3B)
  • = (знак равенства, код 0x3D)
  • VTAB (вертикальный табулятор, код 0x0B)
  • FF (перевод страницы или разрыв страницы, код 0x0C)
  • NBSP (неразрывный пробел, код 0xFF)

Обратите внимание, что несколько последовательных разделителей токенов сворачиваются в один.

2 голосов
/ 06 мая 2020

; - это разделитель.

Разделители отделяют один параметр от следующего - они разбивают командную строку на слова.

Подробнее на https://ss64.com/nt/syntax-esc.html

0 голосов
/ 06 мая 2020

Командная строка не игнорирует символы ";", ";" является разделителем, и cmd распознает его как таковой, поэтому он не «игнорирует» символ, а читает его так же, как пробел, поэтому ничего не появляется, когда вы пишете его отдельно.

...