Ist das Eingeben von %^ in cmd.exe ein Windows-Easter Egg?

Ist das Eingeben von %^ in cmd.exe ein Windows-Easter Egg?

Als ich %^cmd eingab und drückte Enter, kam:

More?

Als ich Entererneut drückte, kam die gleiche Reaktion.

Ist das ein Easter Egg? Was ist das?

Antwort1

CMD ist zeilenbasiert. Es liest und führt immer nur eine Zeile auf einmal aus. Wenn Sie tippen und eine Zeile noch nicht beendet haben, wird eine Eingabeaufforderung angezeigt More?.

Ihr spezielles Problem ist, dass es kein Zeilenende gibt, sodass abgewartet werden muss, was nach dem %Zeichen kommt.

Es ist einfacher zu sehen, wenn man Klammern verwendet

Versuchendir

Dann

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

Erst wenn die Zeile vollständig ist (passende Klammern), wird sie gelesen und ausgeführt.

Hier ist eine Liste der Satzzeichen.

&    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


.
--

Antwort2

NEIN.

Im Rahmen der Trustworthy Computing Initiative hat Microsoft im Jahr 2002 offiziell damit aufgehört, Easter Eggs in seine Programme aufzunehmen.
https://en.wikipedia.org/wiki/Easter_eggs_in_Microsoft_products

Larry Osterman von Microsoft stellte im Oktober 2005 fest, dass das Hinzufügen eines Easter Eggs ein Kündigungsgrund sei.

Heutzutage ist das Hinzufügen eines Easter Eggs zu einem Microsoft-Betriebssystem ein sofortiger Kündigungsgrund. Es ist also sehr unwahrscheinlich, dass Sie jemals wieder eines sehen werden.
https://blogs.msdn.com/b/larryosterman/archive/2005/10/20/483110.aspx
Oder:MSDN-Blog-Archiv

Die Eingabeaufforderung sucht nach einer Fortsetzung ( More?) des Befehls, da dieser mit dem Escape-Zeichen endete ^.

Mit dem Escape-Zeichen ^ können Sie lange Befehle lesbarer machen, indem Sie sie in mehrere Zeilen aufteilen und den Wagenrücklauf vermeiden.

Antwort3

Eigentlich ganz einfach. Aus allen anderen Antworten und Kommentaren (und einigen meiner eigenen Beiträge) habe ich Folgendes herausgefunden:

  • Microsoft integriert keine Easter Eggs und dies ist keines.
  • Sogar das Eintippen ^führt zur gleichen Antwort.
  • ^wird verwendet um unvollständige Befehle zu beenden: [danke @n00b]

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

  • Wenn Sie also im Wesentlichen Folgendes eingeben ip^, die Eingabetaste drücken und dann Folgendes eingeben, configwird es von cmd als registriert ipconfig.
  • ^wird verwendet, um lange Befehle lesbarer zu machen. [danke @Steven]
  • Ich dachte, das ist ein Easter Egg, weil ich nicht damit gerechnet habe, dass cmd in einer menschlichen Sprache antwortet

  • verwandte Informationen