Osoba zdalnie zaznajomiona ze skryptami wsadowymi systemu Windows / DOS rozpozna tę linię:
@echo off
Przez wiele, wiele dni cieszyłem się uczuciem, że @
tak echo off
ma być napisane u góry wsadu i to wszystko.
Jednak ostatnio natknąłem się na taką linię:
@php foo bar
@call \\network\folder\batch.bat
To wzmocniło moje podejrzenie, że chodzi @
o coś więcej niż tylko echo
przełączanie trybu. Jednak @
nie jest wymieniony w Windows XP: odwołanie do wiersza poleceń AZ, którego próbuję użyć jako odniesienia, dlatego nie jestem pewien, jak znaleźć ostateczne informacje na ten temat:
Co to jest @
znak wsadowy, jaka jest terminologia i do czego służy ?
windows
batch-file
dos
terminology
at-sign
n611x007
źródło
źródło
Remarks
sekcji dotyczącejecho
polecenia.echo
partii. Oto link do uwag echo # .Odpowiedzi:
Przy symbolu - @
@ symbol
Informuje procesor polecenia do mniej komunikatów; aby pokazać tylko wyjście polecenia bez pokazywania jego wykonywania ani żadnych podpowiedzi związanych z wykonaniem. Kiedy jest używany, jest dodawany na początku polecenia, nie jest konieczne pozostawianie spacji między „@” a poleceniem.Kiedy "echo" jest ustawione na "wyłączone", nie ma potrzeby używania "@", ponieważ ustawienie "echo" na "wyłączone" powoduje, że to zachowanie staje się automatyczne. „Echo” jest zwykle domyślnie ustawione na „włączone”, gdy rozpoczyna się wykonywanie skryptu. To jest powód, dla którego „@echo off” jest powszechnie używane, aby wyłączyć echo bez wyświetlania aktu wyłączania go.
źródło
.bat
pliku, tj. Nie działa bezpośrednio z wiersza poleceń.When "echo" is set to "off" it is not necessary to use "@" because setting "echo" to "off" causes this behavior to become automatic.
To prawda. Odkryłem również, że może to powodować niepożądane skutki uboczne. Na przykład -@copy
wykonanieclip < file.txt & pause
polecenia z jakiegoś powodu powoduje skopiowanie tekstu przez mój schowek1 file copied
.Symbol „at” umieszczony na początku nie tylko ukrywa polecenie, ale może również służyć do dołączania argumentów polecenia przechowywanych w pliku tekstowym. Składnia to exe @ polecenia (jeśli dobrze pamiętam)
źródło
myExe@myCommands
, jak to się nie powiedzieis not recognized as an internal or external command
@
symbolu? Nie mogę go uruchomić, ale widziałem, że jest używany w plikach wsadowych ...