Widziałem @
jest używany w takich kontekstach:
@echo off
@echo start eclipse.exe
Co to @
znaczy?
Widziałem @
jest używany w takich kontekstach:
@echo off
@echo start eclipse.exe
Co to @
znaczy?
Odpowiedzi:
Oznacza to, że nie należy wyprowadzać odpowiedniego polecenia. Porównaj następujące dwa pliki wsadowe:
@echo foo
i
echo foo
Pierwsza ma tylko foo
jako wyjście, a druga drukuje
H:\Stuff>echo foo
foo
(przynajmniej tutaj). Jak widać, polecenie, które jest uruchamiane, jest również widoczne.
echo off
wyłączy to dla całego pliku wsadowego. Jednak echo off
samo wezwanie byłoby nadal widoczne. Dlatego widzisz @echo off
na początku pliki wsadowe. Wyłącz echo polecenia i nie powtarzaj polecenia, wyłączając je.
Usunięcie tego wiersza (lub zakomentowanie go) jest często pomocnym narzędziem do debugowania w bardziej złożonych plikach wsadowych, ponieważ można zobaczyć, co jest uruchamiane przed komunikatem o błędzie.
Oznacza to „nie powtarzaj polecenia na standardowe wyjście”.
Raczej dziwnie,
echo off
wyśle echo off
na wyjście! Więc,
@echo off
wyłącza to automatyczne zachowanie echa - i zatrzymuje je również dla wszystkich przyszłych poleceń.
Źródło: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true
Do @
wyłącza echa dla tego jednego polecenia. Bez niego echo start eclipse.exe
linia będzie drukować zarówno zamierzone start eclipse.exe
, a ten echo start eclipse.exe
wiersz.
Do echo off
wyłącza echo poleceń przez domyślne.
Więc @echo off
cicho wyłącza echo poleceń i tylko dane wyjściowe autora wsadu, które mają być napisane, są faktycznie napisane.
Dziedziczy znaczenie z DOS. @ :
W wersji DOS 3.3 i nowszych ukrywa echo polecenia wsadowego. Wszelkie dane wyjściowe generowane przez polecenie są wyświetlane.
Bez tego można by wyłączyć echo polecenia za pomocą echo off
polecenia, ale to polecenie zostanie powtórzone jako pierwsze.
Domyślnie plik wsadowy wyświetla swoje polecenie podczas działania. Celem tego pierwszego polecenia, które wyłącza @echo, jest wyłączenie tego wyświetlacza. Polecenie „echo off” wyłącza wyświetlanie całego skryptu, z wyjątkiem samego polecenia „echo off”. Znak „at” „@” z przodu powoduje, że polecenie odnosi się również do siebie samego.
Innym przydatnym momentem na dodanie znaku @ jest użycie FOR
w wierszu poleceń. Na przykład:
FOR %F IN (*.*) DO ECHO %F
Poprzedni wiersz pokazuje dla każdego pliku : wiersz polecenia, ECHO
polecenie i wynik ECHO
polecenia. Tą drogą:
FOR %F IN (*.*) DO @ECHO %F
Wyświetlany jest tylko wynik ECHO
polecenia.