cmd.exe에 % ^을 (를) Windows 부활절 달걀로 입력하고 있습니까?


79

%^cmd를 입력 하고을 누르면 다음 Enter과 같이 말했습니다.

More?

Enter다시 누르면 같은 반응을 보였습니다.

이스터 에그인가요? 이게 뭐야?


13
한 번 더 입력 한 다음 'cmd carat'을
Google에

6
qoutes없이 "ip ^"[enter] "config"[enter] ...를 입력하십시오. 이제 ^는 무엇을 이해합니다.
n00b

7
이 행동에 대해 당신은 그것이 부활절 달걀이라고 생각하게합니까?
jamesdlin

1
나는 More당신이 일반적으로 기대하는 것과 충분히 다르기 때문에 추측 하고 있습니다. (일반적으로 당신은 그것이 단지 무효라고 말할 것이라고 생각할 것입니다.)
Evan Carslake

답변:


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
이 구두점 목록을 어디에서 찾았습니까?
Steven

5
나는 그것을 직접 썼다. 참조는 MSDos 6.22 도움말 파일, Windows Vista 명령 도움말 (예 :) dir /?및 Windows 소프트웨어 개발 키트입니다.
트리거

1
플러스 MS는 무료로 다운로드 할 때 더 이상 나타나지 않습니다. (나는 나의 스카이 드라이브에 올려 한 맥밀란 기술 출판사에서 출판 윈도우 NT 쉘 스크립트에서 제 2 장 skydrive.live.com/redir?resid=E2F0CE17A268A4FA!121 )
트리거

'('와 ')'는 괄호입니다. 대괄호는 일반적으로 '[]'(대괄호) 또는 '<>'(각괄호)로 간주됩니다.
toddkaufmann

7
@toddkaufmann "Brackets"는 (및)도 참조 할 수 있습니다. 미국 이외의 지역에서 일반적으로 사용되는 단어 입니다 (예 : englishclub.com/writing/punctuation-round-brackets.htm 참조) .
hvd

114

아니.

Microsoft는 2002 년 신뢰할 수있는 컴퓨팅 이니셔티브의 일환으로 프로그램에 이스터 에그 포함을 공식적으로 중단했습니다.
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
Steven

12
추가 메시지가 표시되는 이유는 무엇입니까? 첫 번째에 대한 응답으로 아무것도 넣지 않으면 두 번째입니까?
Random832

2
@AlecTeal 예, 그러나 그렇게하려면 ^각 줄의 끝에 계속 넣어야 합니다. ^첫 번째 More?프롬프트에 (no )를 입력하면 즉시 실행되지만 방금 입력하면 More?다시 프롬프트 됩니다. 편집 : More?프롬프트 에서 빈 줄을 입력 하면 명령 줄에 리터럴 CR / LF가 표시되는 echo를 사용하여 추가 테스트를 수행했습니다 . 내가 어제 왜 그런지 몰랐어.
Random832

2
신뢰할 수있는 컴퓨팅 이니셔티브는 문서화되지 않은 행동을 방지했지만 문서화 된 부활절 달걀을 방지하지는 못했습니다 .)
Derek 朕 會 功夫

7

정말 간단합니다. 다른 모든 답변과 의견 (및 내 자신의 입력 사항)에서 이것은 내가 수집 한 것입니다.

  • Microsoft는 부활절 달걀을 포함하지 않으며 이것이 아닙니다.
  • 입력해도 ^동일한 응답이 제공 됩니다 .
  • ^ 불완전한 명령을 완료하는 데 사용됩니다. [thanks @ 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가 인간의 언어로 응답하기를 기대하지 않았기 때문에 이것이 부활절 달걀이라고 생각했다.

  • 당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
    Licensed under cc by-sa 3.0 with attribution required.