Việc gõ% ^ vào cmd.exe có phải là trứng Phục sinh Windows không?


79

Khi tôi gõ %^cmd và nhấn Enter, và nó nói:

More?

Khi tôi nhấn Entermột lần nữa, nó đưa ra phản ứng tương tự.

Đây có phải là một quả trứng Phục sinh? Cái này là cái gì?


13
Thay vào đó, bạn nên nhấn enter thêm một lần nữa và sau đó googled "cmd carat" :)
panhandel

6
gõ "ip ^" [enter] "config" [enter] ... mà không có qoutes. bây giờ bạn hiểu những gì ^ làm.
n00b

7
Điều gì về hành vi này khiến bạn nghĩ rằng đó là một quả trứng Phục sinh?
jamesdlin

1
Tôi đoán bởi vì Morenó đủ khác với những gì bạn thường mong đợi. (Thông thường bạn sẽ nghĩ rằng nó sẽ chỉ nói không hợp lệ /)
Evan Carslake

Câu trả lời:


50

CMD là dòng dựa trên. Nó chỉ đọc và thực hiện một dòng tại một thời điểm. Khi bạn đang gõ và bạn chưa hoàn thành một dòng, nó sẽ nhắc More?.

Điều cụ thể của bạn là không có dòng kết thúc, vì vậy, hãy chờ xem những gì xuất hiện sau %dấu hiệu.

Dễ dàng nhìn thấy hơn bằng cách sử dụng dấu ngoặc

Thử dir

sau đó

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

Chỉ khi dòng hoàn thành (dấu ngoặc phù hợp) thì nó mới được đọc và thực thi.

Đây là danh sách các dấu câu.

&    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
Nơi mà bạn tìm thấy danh sách chấm câu này?
Steven

5
Tôi tự viết nó. Các tài liệu tham khảo là Tệp trợ giúp MSDos 6.22, trợ giúp lệnh Windows Vista (tức là dir /?) và Bộ công cụ phát triển phần mềm Windows.
kích hoạt

1
Plus MS đã từng tải lên miễn phí, không xuất hiện nữa. Chương 2 từ Windows NT Shell Scripting, được xuất bản bởi MacMillan Technical Publishing (Tôi đã đưa nó lên skydrive của mình tại skydrive.live.com/redir?resid=E2F0CE17A268A4FA!121 )
kích hoạt

'(' và ')' là dấu ngoặc đơn; dấu ngoặc thường được coi là '[]' (ngoặc vuông) hoặc '<>' (ngoặc vuông).
babkaufmann 22/05/2015

7
@toddkaufmann "Chân đế" cũng có thể tham khảo (và). Đó là một sử dụng chung của từ bên ngoài nước Mỹ, xem englishclub.com/writing/punctuation-round-brackets.htm ví dụ.
hvd

114

Không.

Microsoft chính thức dừng việc đưa trứng Phục sinh vào các chương trình của mình như là một phần của Sáng kiến ​​điện toán đáng tin cậy vào năm 2002.
http://en.wikipedia.org/wiki/Easter_eggs_in_Microsoft_products

Vào tháng 10 năm 2005, Larry Osterman đã lưu ý rằng việc thêm một Easter Egg là căn cứ để chấm dứt.

Ngày nay, việc thêm một quả trứng Phục sinh vào hệ điều hành Microsoft là cơ sở ngay lập tức để chấm dứt, do đó rất khó có thể bạn sẽ thấy một quả trứng khác.

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

Dấu nhắc lệnh đang tìm kiếm sự tiếp tục ( More?) của lệnh, vì nó kết thúc bằng ký tự thoát ^.

^ Ký tự thoát có thể được sử dụng để làm cho các lệnh dài dễ đọc hơn bằng cách chia chúng thành nhiều dòng và thoát khỏi Vận chuyển trở lại + Nguồn cấp dữ liệu (CR / LF) ở cuối dòng
http://ss64.com/nt/syntax- esc.html


31
Họ đã loại bỏ tất cả trứng Phục sinh trong tương lai để tăng độ tin cậy? Làm thế nào để họ cho rằng làm việc ra?
Panzercrisis

29
@Panzercrisis Tại sao không có trứng Phục sinh? blog.msdn.com/b/larryosterman/archive/2005/10/21/483608.aspx
Steven

12
Tại sao nó nhắc nhiều hơn? Lần thứ hai nếu bạn không đặt bất cứ điều gì để đáp lại lần đầu tiên?
Random832

2
@AlecTeal Có, nhưng để làm được điều đó tôi phải tiếp tục đặt ^ở cuối mỗi dòng. Nếu tôi gõ một cái gì đó (không có ^) vào More?dấu nhắc đầu tiên , nó sẽ thực thi ngay lập tức, nhưng nếu tôi chỉ nhập, nó sẽ nhắc More?lại. EDIT: Tôi đã thực hiện một số thử nghiệm tiếp theo với echo cho thấy rằng việc nhập một dòng trống tại More?dấu nhắc sẽ đặt CR / LF bằng chữ trong dòng lệnh. Không biết tại sao tôi không chạy vào đó ngày hôm qua.
Random832

2
Computing Initiative Trustworthy của nó ngăn chặn các hành vi không có giấy tờ, nhưng họ không bao giờ ngăn ngừa sự ghi nhận trứng Phục sinh;)
Derek朕會功夫

7

Thực sự đơn giản, Từ tất cả các câu trả lời và nhận xét khác (và một số đầu vào của riêng tôi) đây là những gì tôi thu thập được:

  • Microsoft không bao gồm trứng Phục sinh và đây không phải là trứng.
  • Ngay cả việc gõ chỉ ^cho phản hồi tương tự.
  • ^ được sử dụng để hoàn thành các lệnh chưa hoàn thành: [cảm ơn @ n00b]

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

  • Vì vậy, về cơ bản nếu bạn gõ ip^và nhấn enter và sau đó gõ configthì cmd đăng ký nó như ipconfig.
  • ^được sử dụng để làm cho các lệnh dài dễ đọc hơn. [cảm ơn @Steven]
  • Tôi nghĩ rằng đây là một quả trứng Phục sinh vì tôi không mong đợi cmd sẽ phản ứng bằng ngôn ngữ của con người

  • Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
    Licensed under cc by-sa 3.0 with attribution required.