Szukaj…


Wprowadzenie

echo może być użyte do kontrolowania i generowania wyjścia.

Składnia

  • ECHO [ON | POZA]
  • Wiadomość ECHO
  • ECHO (wiadomość
  • ECHO(

Parametry

Parametr Detale
ON | POZA Może być ON lub OFF (bez uwzględniania wielkości liter)
wiadomość Dowolny ciąg znaków (z wyjątkiem ON Lub OFF Jeśli jest używany bez ( )

Uwagi

  • echo. wyświetli również pusty ciąg. Jest to jednak wolniejsze niż echo( ponieważ echo. plik o nazwie „echo”. Tylko wtedy, gdy ten plik nie istnieje, polecenie będzie działać, ale to sprawdzenie powoduje spowolnienie.
  • echo: zachowuje się jak echo( chyba że message wygląda jak ścieżka do pliku, np. echo:foo\..\test.bat . W takim przypadku interpreter zobaczy echo:foo jako nazwę folderu, usuń echo:foo\..\ (ponieważ wydaje się, że wystarczy wejść do katalogu echo:foo a następnie opuścić go ponownie), a następnie wykonać test.bat , co nie jest pożądanym zachowaniem.

Wyświetlanie wiadomości

Aby wyświetlić „Some Text”, użyj polecenia:

echo Some Text

Spowoduje to wygenerowanie ciągu Some Text po którym nastąpi nowy wiersz.

Aby wyświetlić ciągi On i Off (bez rozróżniania wielkości liter) lub pusty ciąg, użyj ( zamiast spacji:

echo(ON
echo(
echo(off

Spowoduje to wygenerowanie:

ON

off

Często stosuje się także echo. aby wyświetlić pusty wiersz, ale proszę zobaczyć uwagi, dlaczego nie jest to najlepszy pomysł.

Aby wyświetlić tekst bez uwzględnienia CR / LF, użyj następującego polecenia:

<nul set/p=Some Text

To polecenie spróbuje ustawić zmienną zwaną pustym ciągiem na dane wejściowe użytkownika po wyświetleniu monitu. Plik nul jest przekierowywany do polecenia za pomocą <nul , więc polecenie podda się, gdy tylko spróbuje z niego odczytać i pozostanie tylko ciąg zachęty. Ponieważ użytkownik nigdy nie wpisał nowej linii, nie ma linii.

Ustawienie echa

Ustawienie echa określa, czy echo polecenia jest włączone, czy wyłączone. Tak wygląda przykładowy program z włączonym echem poleceń (domyślnie):

C:\Windows\System32>echo Hello, World!
Hello, World!

C:\Windows\System32>where explorer
C:\Windows\System32\explorer.exe

C:\Windows\System32>exit

Tak to wygląda przy wyłączonym echu:

Hello, World!
C:\Windows\System32\explorer.exe

Pierwsze i ustawienie

Aby uzyskać (wyświetlić) ustawienie echa, użyj echo bez parametrów:

> echo
ECHO is on.

Aby ustawić ustawienie echa, użyj echo z on lub off :

> echo off

> echo
ECHO is off.

> echo on

> echo
ECHO is on.

Zauważ, że w tych przykładach monit jest reprezentowany przez > . Podczas zmiany ustawienia echa monit pojawi się i zniknie, ale to powoduje niejasne przykłady.

Zauważ, że można zapobiec powtórzeniu polecenia nawet, gdy echo jest włączone, poprzez umieszczenie znaku @ przed poleceniem.

Echo generuje wszystko dosłownie

Cytaty będą przesyłane takimi, jakimi są:

echo "Some Text"
"Some Text"

Tokeny komentarzy są ignorowane:

echo Hello World REM this is not a comment because it is being echoed!
Hello World REM this is not a comment because it is being echoed!

Jednak echo nadal będzie generować zmienne - patrz Zmienne użycie - a znaki specjalne nadal działają:

echo hello && echo world
hello
world

Wyjście echa do pliku

Sposoby utworzenia pliku za pomocą polecenia echo:

echo. > example.bat (creates an empty file called "example.bat")

echo message > example.bat (creates example.bat containing "message")
echo message >> example.bat (adds "message" to a new line in example.bat)
(echo message) >> example.bat (same as above, just another way to write it)

Dane wyjściowe na ścieżkę

Mały problem, na który możesz natknąć się, robiąc to:

echo Hello how are you? > C:\Users\Ben Tearzz\Desktop\example.bat

(This will NOT make a file on the Desktop, and might show an error message)

Ale jak to robimy? Cóż, w rzeczywistości jest to bardzo proste ... Podczas wpisywania ścieżki lub nazwy pliku, która zawiera spację w nazwie, pamiętaj, aby używać „cudzysłowów”

echo Hello how are you? > "C:\Users\Ben Tearzz\Desktop\example.bat"
(This will make a file on MY Desktop)

Ale co, jeśli chcesz utworzyć plik, który będzie generował nowy plik?

echo message > file1.bat > example.bat

(This is NOT going to output:
"message > file1.bat" to example.bat

Jak to robimy?

echo message ^> file1.bat > example.bat

(This will output: 
"message > file1.bat" to example.bat

To samo dotyczy innych rzeczy wsadowo

Jeśli nie wiesz, jakie są zmienne i instrukcje, najprawdopodobniej nie zrozumiesz: kliknij tutaj, aby dowiedzieć się o zmiennych | kliknij tutaj, aby dowiedzieć się o instrukcjach „jeśli”

Zmienne:

set example="text"
echo %example% > file.bat
(This will output "text" to file.bat)

jeśli nie chcemy, aby wyświetlał „tekst”, ale zwykły% example%, to napisz:

echo ^%example^% > file.bat
(This will output "%example%" to file.bat)

inne oświadczenia:

else = ||
if ^%example^%=="Hello" echo True || echo False > file.bat

(This will output:
if %example%=="Hello" echo True

do wyprowadzenia całej linii piszemy:

if ^%example^%=="Hello" echo True ^|^| echo False > file.bat

This will output:
if %example%=="Hello" echo True || echo False

Jeśli zmienna jest równa „Hello”, wówczas powie „True”, w przeciwnym razie powie „False”

@ Wyłącz echo

@echo off zapobiega wyświetlaniu monitu i zawartości pliku wsadowego, dzięki czemu widoczne są tylko dane wyjściowe. @ Ukrywa również wyjście polecenia echo off .

Włączanie echa w nawiasach

W poniższym przykładzie echo on zadziała po osiągnięciu końca kontekstu w nawiasach:

@echo off
(
    echo on
    echo ##
)
echo $$

Aby „aktywować” echo w kontekście nawiasów kwadratowych (w tym poleceń FOR i IF ), możesz użyć makra FOR / f :

@echo off
setlocal

:: echo on macro should followed by the command you want to execute with echo turned on
set "echo_on=echo on&for %%. in (.) do"

(
  %echo_on% echo ###
)


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow