Windows复活节彩蛋是在cmd.exe中键入%^吗?


79

当我输入%^cmd并按时Enter,它说:

More?

当我Enter再次按下时,它给出了相同的响应。

这是复活节彩蛋吗?这是什么?


13
您应该再按一次Enter键,然后用Google搜索“ cmd克拉” :)
panhandel 2015年

6
键入“ ip ^” [输入]“ config” [输入] ...,不带qoutes。现在您了解^的作用。
n00b 2015年

7
这种行为如何使您认为它是复活节彩蛋?
jamesdlin

1
我猜是因为More与您通常期望的有所不同。(通常,您会认为它只会说无效/)
Evan Carslake 2015年

Answers:


50

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


.
--

4
您在哪里找到此标点符号列表?
2015年

5
我自己写的。参考是MSDos 6.22帮助文件,Windows Vista命令帮助(即dir /?)和Windows软件开发工具包。
触发

1
加上MS以前可以免费下载了此文件,现在不再出现。第2章来自Windows NT Shell脚本,由MacMillan Technical Publishing发布(我将其放在skydrive上的skydrive.live.com/redir?resid=E2F0CE17A268A4FA!121上
触发

'('和')'是括号;方括号通常被认为是“ []”(方括号)或“ <>”(尖括号)。
toddkaufmann 2015年

7
@toddkaufmann“括号”也可以引用(和)。在美国境外,通常使用该词,例如,参见englishclub.com/writing/punctuation-round-brackets.htm
hvd 2015年

114

没有。

作为2002年“可信赖计算计划”的一部分,Microsoft正式停止在其程序中包含复活节彩蛋。http:
//en.wikipedia.org/wiki/Easter_eggs_in_Microsoft_products

拉里·奥斯特曼(Larry Osterman)在2005年10月指出,添加复活节彩蛋是终止劳动的理由。

如今,在Microsoft OS中添加复活节彩蛋是立即终止的理由,因此您极不可能再看到另一个。

http://blogs.msdn.com/b/larryosterman/archive/2005/10/20/483110.aspx

由于命令提示符More?以转义字符结束,因此命令提示符正在寻找命令的延续()^

所述^转义字符可以被用于使长命令的详细可读通过在一行的末尾它们分割成多行和逸出回车+换行(CR / LF)
http://ss64.com/nt/syntax- esc.html


31
他们摆脱了所有未来的复活节彩蛋,以增加信任度?他们认为如何解决?
Panzercrisis

29
@Panzercrisis为什么没有复活节彩蛋?blogs.msdn.com/b/larryosterman/archive/2005/10/21/483608.aspx
史蒂文

12
为什么提示更多?第二次,如果您没有对第一个做出任何回应?
2015年

2
@AlecTeal是的,但是要做到这一点,我必须一直放在^每一行的末尾。如果我^在第一个More?提示中键入某些内容(不带),则会立即执行,但如果我刚刚输入,则会More?再次提示。编辑:我用echo做了一些进一步的测试,揭示了在More?提示符下输入空白行会在命令行中输入原义的CR / LF。不知道为什么我昨天没碰到那个。
Random832

2
它的“可信赖计算计划”阻止了未记录的行为,但从未阻止过记录的复活节彩蛋;)
Derek朕会功夫2015年

7

真的很简单,我从所有其他答案和评论(以及我自己的一些输入)中收集了以下内容:

  • 微软不包括复活节彩蛋,这也不是一个。
  • 即使键入也能^给出相同的响应。
  • ^ 用于完成不完整的命令:[感谢@ 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会以人类语言回应

  • By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
    Licensed under cc by-sa 3.0 with attribution required.