Powinieneś jeszcze raz nacisnąć klawisz Enter, a następnie przejść do wyszukiwarki „cmd carat” :)
panhandel
6
wpisz „ip ^” [enter] „config” [enter] ... bez qoutes. teraz rozumiesz, co robi ^.
n00b
7
Co z tym zachowaniem sprawia, że myślisz, że to easter egg?
jamesdlin
1
Zgaduję, ponieważ Morejest wystarczająco różny od tego, czego normalnie byś się spodziewał. (Normalnie można by pomyśleć, że byłoby to po prostu nieważne /)
Evan Carslake
Odpowiedzi:
50
CMD jest oparty na linii. Czyta i wykonuje tylko jedną linię na raz. Kiedy piszesz i nie skończyłeś wiersza, który wyświetla monit More?.
Twoja szczególna rzecz polega na tym, że nie ma końca linii, więc czeka, aby zobaczyć, co nastąpi po %znaku.
Łatwiej jest zobaczyć za pomocą nawiasów
Próbować dir
następnie
(dir
echo %time%
(type c:\windows\win.ini
)
)
Tylko po zakończeniu wiersza (dopasowanie nawiasów) jest on odczytywany i wykonywany.
Oto lista interpunkcji.
& 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
.
--
Sam to napisałem. Odniesienia znajdują się w pliku pomocy MSDos 6.22, pomocy dotyczącej poleceń systemu Windows Vista (tj. dir /?) I Windows Software Developent Kit.
aktywować
1
Plus MS zwykło mieć to do pobrania za darmo, nie pojawia się więcej. Rozdział 2 z Windows NT Shell skryptów, opublikowane przez MacMillan Publishing Technicznego (mam umieścić go na moim SkyDrive w skydrive.live.com/redir?resid=E2F0CE17A268A4FA!121 )
spust
„(” i „)” są nawiasami; nawiasy kwadratowe są zwykle uważane za „[]” (nawiasy kwadratowe) lub „<>” (nawiasy kątowe).
Larry Osterman zauważył w październiku 2005 r., Że dodanie jajka wielkanocnego jest podstawą do rozwiązania umowy.
W dzisiejszych czasach dodanie jajka wielkanocnego do systemu operacyjnego Microsoft jest natychmiastową przyczyną wypowiedzenia, więc jest bardzo mało prawdopodobne, że zobaczysz inną.
Wiersz polecenia szuka kontynuacji ( More?) polecenia, ponieważ zakończyło się ono znakiem ucieczki ^.
Znak ucieczki ^ można wykorzystać do zwiększenia czytelności długich poleceń, dzieląc je na wiele linii i unikając znaku powrotu karetki + przesunięcia wiersza (CR / LF) na końcu linii http://ss64.com/nt/syntax- esc.html
Dlaczego wyświetla więcej? drugi raz, jeśli nie odpowiesz nic na pierwszy?
Random832
2
@AlecTeal Tak, ale aby to zrobić, muszę umieszczać ^na końcu każdej linii. Jeśli wpiszesz coś (bez ^) w pierwszym More?pytaniu, zostanie ono wykonane natychmiast, ale jeśli tylko wejdę, wyświetli monit More?ponownie. EDYCJA: Przeprowadziłem kilka dalszych testów za pomocą echa, które ujawniają, że wprowadzenie pustego wiersza w More?wierszu poleceń powoduje literalne CR / LF w wierszu poleceń. Nie wiem, dlaczego nie wpadłem na to wczoraj.
Random832
2
Jego godna zaufania inicjatywa komputerowa zapobiegała nieudokumentowanym zachowaniom, ale nigdy nie zapobiegała udokumentowaniu pisanek;)
Derek 朕 會 功夫
7
To naprawdę proste. Ze wszystkich innych odpowiedzi i komentarzy (i niektórych moich własnych danych wejściowych) zebrałem:
Microsoft nie obejmuje pisanek i to nie jest jeden.
Nawet pisanie ^daje taką samą odpowiedź.
^ służy do zakończenia niekompletnych poleceń: [dzięki @ n00b]
C:\windows\system32>net ^
More? user
User accounts for \\INFINITEPC
-------------------------------------------------------------------------------
Administrator Guest Rahul
The command completed successfully.
Zasadniczo, jeśli wpiszesz ip^i naciśniesz enter, a następnie wpisz, configcmd zarejestruje to jako ipconfig.
^służy do zwiększenia czytelności długich poleceń. [dzięki @Steven]
Myślałem, że to easter egg, ponieważ nie spodziewałem się, że cmd zareaguje w ludzkim języku
More
jest wystarczająco różny od tego, czego normalnie byś się spodziewał. (Normalnie można by pomyśleć, że byłoby to po prostu nieważne /)Odpowiedzi:
CMD jest oparty na linii. Czyta i wykonuje tylko jedną linię na raz. Kiedy piszesz i nie skończyłeś wiersza, który wyświetla monit
More?
.Twoja szczególna rzecz polega na tym, że nie ma końca linii, więc czeka, aby zobaczyć, co nastąpi po
%
znaku.Łatwiej jest zobaczyć za pomocą nawiasów
Próbować
dir
następnie
Tylko po zakończeniu wiersza (dopasowanie nawiasów) jest on odczytywany i wykonywany.
Oto lista interpunkcji.
źródło
dir /?
) I Windows Software Developent Kit.Nie.
Larry Osterman zauważył w październiku 2005 r., Że dodanie jajka wielkanocnego jest podstawą do rozwiązania umowy.
http://blogs.msdn.com/b/larryosterman/archive/2005/10/20/483110.aspx
Wiersz polecenia szuka kontynuacji (
More?
) polecenia, ponieważ zakończyło się ono znakiem ucieczki^
.źródło
^
na końcu każdej linii. Jeśli wpiszesz coś (bez^
) w pierwszymMore?
pytaniu, zostanie ono wykonane natychmiast, ale jeśli tylko wejdę, wyświetli monitMore?
ponownie. EDYCJA: Przeprowadziłem kilka dalszych testów za pomocą echa, które ujawniają, że wprowadzenie pustego wiersza wMore?
wierszu poleceń powoduje literalne CR / LF w wierszu poleceń. Nie wiem, dlaczego nie wpadłem na to wczoraj.To naprawdę proste. Ze wszystkich innych odpowiedzi i komentarzy (i niektórych moich własnych danych wejściowych) zebrałem:
^
daje taką samą odpowiedź.^
służy do zakończenia niekompletnych poleceń: [dzięki @ n00b]ip^
i naciśniesz enter, a następnie wpisz,config
cmd zarejestruje to jakoipconfig
.^
służy do zwiększenia czytelności długich poleceń. [dzięki @Steven]źródło