Является ли ввод %^ в cmd.exe пасхальным яйцом Windows?

Является ли ввод %^ в cmd.exe пасхальным яйцом Windows?

Когда я ввел %^cmd и нажал Enter, он сказал:

More?

Когда я нажал Enterеще раз, ответ был тот же.

Это пасхальное яйцо? Что это?

решение1

CMD основан на строках. Он читает и выполняет только одну строку за раз. Когда вы печатаете и не закончили строку, он предлагает More?.

Ваша особенность в том, что у строки нет окончания, поэтому нужно дождаться, что будет после знака %.

Это легче увидеть, используя скобки.

Пытатьсяdir

затем

(dir
echo %time%
(type c:\windows\win.ini
)
)

Только когда строка завершена (скобки совпадают), она считывается и выполняется.

Вот список знаков препинания.

&    separates commands on a line.

&&    executes this command only if previous command's errorlevel is 0.

||    (not used above) executes this command only if previous command's errorlevel is NOT 0

>    output to a file

>>    append output to a file

<    input from a file

|    output of one command into the input of another command

^    escapes any of the above, including itself, if needed to be passed to a program

"    parameters with spaces must be enclosed in quotes

+ used with copy to concatenate files. E.G. copy file1+file2 newfile

, used with copy to indicate missing parameters. This updates the files modified date. E.G. copy /b file1,,

%variablename% a inbuilt or user set environmental variable

!variablename! a user set environmental variable expanded at execution time, turned with SelLocal EnableDelayedExpansion command

%<number> (%1) the nth command line parameter passed to a batch file. %0 is the batch file's name.

%* (%*) the entire command line.

%<a letter> or %%<a letter> (%A or %%A) the variable in a for loop. Single % sign at command prompt and double % sign in a batch file.

\\ (\\servername\sharename\folder\file.ext) access files and folders via UNC naming.

: (win.ini:streamname) accesses an alternative steam. Also separates drive from rest of path.

. (win.ini) the LAST dot in a file path separates the name from extension

. (dir .\*.txt) the current directory

.. (cd ..) the parent directory


\\?\ (\\?\c:\windows\win.ini) When a file path is prefixed with \\?\ filename checks are turned off. 

< > : " / \ | Reserved characters. May not be used in filenames.



Reserved names. These refer to devices eg, 

copy con <filename> 

which copies a file to the console window.

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, 

COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, 

LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9



Maximum path length              260 characters
Maximum path length (\\?\)      32,767 characters (approx - some rare characters use 2 characters of storage)
Maximum filename length        255 characters


.
--

решение2

Нет.

В 2002 году Microsoft официально прекратила включать «пасхальные яйца» в свои программы в рамках своей инициативы Trustworthy Computing Initiative.
https://en.wikipedia.org/wiki/Пасхальные_яйца_в_продуктах_Microsoft

Ларри Остерман из Microsoft в октябре 2005 года отметил, что добавление пасхального яйца является основанием для прекращения действия соглашения.

В наши дни добавление «пасхального яйца» в ОС Microsoft является немедленным основанием для прекращения ее действия, поэтому крайне маловероятно, что вы когда-либо увидите что-то подобное.
https://blogs.msdn.com/b/larryosterman/archive/2005/10/20/483110.aspx
Или:Архив блога MSDN

Командная строка ищет продолжение ( More?) команды, поскольку она заканчивается символом escape ^.

Символ экранирования ^ можно использовать для того, чтобы сделать длинные команды более читабельными, разбив их на несколько строк и экранировав возврат каретки.

решение3

На самом деле все просто. Из всех других ответов и комментариев (и некоторых моих собственных мыслей) я почерпнул следующее:

  • Microsoft не включает в свои продукты пасхальные яйца, и это не одно из них.
  • Даже при наборе текста ^ответ тот же.
  • ^используется для завершения незавершенных команд: [спасибо @n00b]

    C:\windows\system32>net ^
    More? user
    
    User accounts for \\INFINITEPC
    
    -------------------------------------------------------------------------------
    Administrator            Guest                    Rahul
    The command completed successfully.
    

  • Так что, по сути, если вы вводите ip^и нажимаете Enter, а затем вводите, configто cmd регистрирует его как ipconfig.
  • ^используется для того, чтобы сделать длинные команды более читабельными. [спасибо @Steven]
  • Я думал, что это пасхальное яйцо, потому что не ожидал, что cmd ответит на человеческом языке.

  • Связанный контент