Ich habe gesehen, @wird in solchen Zusammenhängen verwendet:
@echo off
@echo start eclipse.exe
Was @bedeutet hier?
Ich habe gesehen, @wird in solchen Zusammenhängen verwendet:
@echo off
@echo start eclipse.exe
Was @bedeutet hier?
Antworten:
Es bedeutet, den jeweiligen Befehl nicht auszugeben. Vergleichen Sie die folgenden zwei Batchdateien:
@echo foo
und
echo foo
Ersteres hat nur fooals Ausgabe, während letzteres druckt
H:\Stuff>echo foo
foo
(zumindest hier). Wie zu sehen ist, ist auch der ausgeführte Befehl sichtbar.
echo offschaltet dies für die vollständige Batch-Datei aus. Der echo offAnruf selbst wäre jedoch weiterhin sichtbar. Aus diesem Grund sehen Sie @echo offam Anfang von Batch-Dateien. Schalten Sie Befehl Echo und do echo den Befehl nicht drehen sie ab.
Das Entfernen (oder Auskommentieren) dieser Zeile ist häufig ein hilfreiches Debugging-Tool in komplexeren Batchdateien, da Sie sehen können, was vor einer Fehlermeldung ausgeführt wird.
Es bedeutet "Geben Sie den Befehl nicht an die Standardausgabe weiter".
Eher seltsam,
echo off
wird echo offan die Ausgabe senden ! So,
@echo off
Setzt dieses automatische Echo-Verhalten aus - und stoppt es auch für alle zukünftigen Befehle.
Quelle: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true
Das @Deaktiviert das Echo für diesen einen Befehl. Ohne sie echo start eclipse.exewürde die Zeile sowohl die beabsichtigte start eclipse.exe als auch die echo start eclipse.exeZeile drucken .
Das echo offdeaktiviert das Echo des Standardbefehls.
@echo offDeaktiviert also stillschweigend das Echo des Befehls und gibt nur den Batch-Autor aus, der geschrieben werden soll.
Es erbt die Bedeutung von DOS. @ :
In DOS Version 3.3 und höher wird das Echo eines Stapelbefehls ausgeblendet. Jede vom Befehl erzeugte Ausgabe wird wiedergegeben.
Ohne sie könnten Sie das Echo des echo offBefehls mit dem Befehl deaktivieren , aber dieser Befehl wird zuerst wiedergegeben.
Standardmäßig zeigt eine Batchdatei ihren Befehl während der Ausführung an. Der Zweck dieses ersten Befehls, den @echo ausschaltet, besteht darin, diese Anzeige auszuschalten. Der Befehl "Echo aus" schaltet die Anzeige für das gesamte Skript aus, mit Ausnahme des Befehls "Echo aus". Das "at" -Zeichen "@" vorne bewirkt, dass der Befehl auch auf sich selbst angewendet wird.
Eine weitere nützliche Zeit, um @ einzuschließen, ist die Verwendung FORin der Befehlszeile. Beispielsweise:
FOR %F IN (*.*) DO ECHO %F
Die vorherige Zeile zeigt für jede Datei : die Eingabeaufforderung, den ECHOBefehl und das Ergebnis des ECHOBefehls. Diesen Weg:
FOR %F IN (*.*) DO @ECHO %F
Es wird nur das Ergebnis des ECHOBefehls angezeigt.