%^をcmd.exeに入力すると、Windowsイースターエッグですか?


79

%^cmdと入力してを押すEnterと、次のように言われました。

More?

Enterもう一度押すと、同じ反応がありました。

これはイースターエッグですか?これは何ですか?


13
もう一度Enterキーを押してから、代わりに「cmd carat」と
googled

6
タイプ「ip ^」[入力]「構成」[入力] ... qoutesなし。これで、^の機能を理解できました。
n00b

7
この振る舞いについては、イースターエッグだと思わせますか?
ジェームズドリン

1
私が推測しているのMoreは、あなたが通常期待するものとは十分に異なるからです。(通常、それは単に無効と言うだろうと思うでしょう/)
エヴァン・カースレイク

回答:


50

CMDは行ベースです。一度に1行のみを読み取って実行します。入力しているときに行を終了していない場合は、プロンプトが表示され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
この句読点のリストはどこで見つけましたか?
スティーブン

5
自分で書きました。参照先は、MSDos 6.22ヘルプファイル、Windows Vistaコマンドヘルプ(ie dir /?)、およびWindows Software Developent Kitです。
トリガー

1
さらに、MSはこれを無料でダウンロードするために使用していましたが、もう表示されません。MacMillanテクニカルパブリッシングが発行したWindows NT Shell Scriptingの第2章(skydrive.live.com/redir?resid=E2F0CE17A268A4FA!121のスカイドライブに掲載しています
トリガー

「(」および「)」は括弧です。角かっこは通常、「[]」(角かっこ)または「<>」(山かっこ)と見なされます。
トッドカウフマン

7
@toddkaufmann "Brackets"は(および)も参照できます。これは、米国以外での単語の一般的な使用方法です。たとえば、englishclub.com / writing / punctuation-round-brackets.htmを参照してください。
hvd

114

番号。

Microsoftは、2002年にTrustworthy Computing Initiativeの一環として、プログラムにイースターエッグを含めることを正式に停止しました
。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
信頼性を高めるために、将来のすべてのイースターエッグを取り除きましたか?彼らはどのようにそれがうまくいくと思いますか?
パンツァークライシス

29
@Panzercrisisなぜイースターエッグがないのか?blogs.msdn.com/b/larryosterman/archive/2005/10/21/483608.aspx
スティーブン

12
なぜもっと表示されるのですか?最初の応答に対して何も入力しない場合、2回目ですか?
Random832

2
@AlecTealはい、しかしそれを行うには^、各行の最後に配置し続ける必要があります。^最初のMore?プロンプトに何か(なし)を入力するとすぐに実行されますが、入力するだけでMore?再度プロンプトが表示されます。編集:エコーでさらにテストを行ったところ、More?プロンプトに空白行を入力すると、コマンドラインにリテラルのCR / LFが挿入されることが明らかになりました。昨日私がそれに出会わなかった理由がわからない。
Random832

2
信頼できるコンピューティングイニシアチブは、文書化されていない動作を防止しましたが、イースターエッグの文書化を防止したことはありません;)
デレク朕會功夫

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が人間の言語で応答することを期待していなかったので、これはイースターエッグだと思った

  • 弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
    Licensed under cc by-sa 3.0 with attribution required.