Когда я набрал %^
в cmd и нажал Enter, он сказал:
More?
Когда я снова нажал Enter , он дал тот же ответ.
Это пасхальное яйцо? Что это?
Нет.
В 2002 году Microsoft официально прекратила включение пасхальных яиц в свои программы в рамках инициативы «Надежные вычисления».
http://en.wikipedia.org/wiki/Easter_eggs_in_Microsoft_products
Ларри Остерман отметил в октябре 2005 года, что добавление пасхального яйца является основанием для прекращения.
В настоящее время добавление пасхального яйца в операционную систему Microsoft является немедленным основанием для прекращения, поэтому вряд ли вы когда-нибудь увидите другое.
http://blogs.msdn.com/b/larryosterman/archive/2005/10/20/483110.aspx
Командная строка ищет продолжение (More?
) команды, поскольку она заканчивалась на escape-символе ^
.
Экранирующий символ ^ можно использовать для того, чтобы сделать длинные команды более читабельными, разбив их на несколько строк и избегая возврата каретки + перевода строки (CR/LF) в конце строки.
http://ss64.com/nt/syntax-esc.html
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
.
--
На самом деле все просто, из всех других ответов и комментариев (и некоторых моих собственных комментариев) вот что я собрал:
^
дает тот же ответ.
^
используется для завершения неполных команд: [спасибо @ n00b]
C:\windows\system32>net ^
More? user
User accounts for \\INFINITEPC
-------------------------------------------------------------------------------
Administrator Guest Rahul
The command completed successfully.
ip^
и нажмете Enter, а затем config
то cmd зарегистрирует его как ipconfig
.
^
используется, чтобы сделать длинные команды более читабельными. [спасибо @Steven]