Was genau bewirken die at-Zeichen in Batches und wann werden sie eingesetzt?
Hallo!
Habe mir schon einige Batch-Scripts durchgelesen, jedoch habe ich für mich persönlich noch nicht klären können, wann und warum ein "@" verwendet wird.
Ich nehme mal als Beispiel Workshop Batch for Runaways - Part I - Beispiel FindLongPath.Bat Bedenklich lange Pfade finden her.
warum mit "@"? unterschied zu ohne?
das "@" in Anführungszeichen: ich nehme an das ist ein ASCII-Vergleich --> @=64; dann sollte man doch wegen der korrekten Funktion auf "SPACE" vergleichen mit "GEQ"
wieso @echo und nicht echo?
dieses mal ohne "@", warum?
es gibt sie auch in ifs!?!
was bewirkt es? was wäre ohne anders?
Besten Dank im Voraus
Habe mir schon einige Batch-Scripts durchgelesen, jedoch habe ich für mich persönlich noch nicht klären können, wann und warum ein "@" verwendet wird.
Ich nehme mal als Beispiel Workshop Batch for Runaways - Part I - Beispiel FindLongPath.Bat Bedenklich lange Pfade finden her.
- Zeile 3
@ECHO off & SETLOCAL ENABLEEXTENSIONS
warum mit "@"? unterschied zu ohne?
- Zeile 13
FOR /F "delims=" %%i in (%tmpdatei%) do (set "x=%%i") && if "!x:~%p2%,10!" GTR "@" @echo %%i >>%reportdatei%
das "@" in Anführungszeichen: ich nehme an das ist ein ASCII-Vergleich --> @=64; dann sollte man doch wegen der korrekten Funktion auf "SPACE" vergleichen mit "GEQ"
wieso @echo und nicht echo?
- Zeile 16
ECHO Report wurde gespeichert als %reportdatei%.
dieses mal ohne "@", warum?
- Zeile 63
FOR %%i IN (%usedvars% usedvars) DO @IF DEFINED %%i (
es gibt sie auch in ifs!?!
Besten Dank im Voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 238746
Url: https://administrator.de/forum/was-genau-bewirken-die-at-zeichen-in-batches-und-wann-werden-sie-eingesetzt-238746.html
Ausgedruckt am: 15.04.2025 um 16:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo maximal1981, Willkommen auf Administrator.de!
http://ss64.com/nt/echo.html
Grüße Uwe
http://ss64.com/nt/echo.html
In a batch file, the @ symbol is the same as ECHO OFF applied to the current line only.
Grüße Uwe
Moin,
die Suche wäre schneller gewesen :P
https://www.google.de/search?client=opera&q=at-Zeichen+in+Batches&am ...
Das Zeichen verhindert lediglich die Ausgabe der Zeile wovor das @ steht
"@echo off" zeigt auf der Kommandozeile nichts an!
"echo off" zeigt "echo off" an.
Gruß
die Suche wäre schneller gewesen :P
https://www.google.de/search?client=opera&q=at-Zeichen+in+Batches&am ...
Das Zeichen verhindert lediglich die Ausgabe der Zeile wovor das @ steht
"@echo off" zeigt auf der Kommandozeile nichts an!
"echo off" zeigt "echo off" an.
@echo off
echo {atEcho off} Es wird nur dieser Text angezeigt ohne Ausfuehrungspfad
echo.
pause
cls
@echo on
echo {atEcho on) Es wird dieser Text angezeigt und der Ausfuehrungspfad und dieser Text in einer neuen Zeile noch mal ausgegeben
echo.
pause
cls
echo off
echo {echo off} Es wird "echo off" angezeigt und dieser Text in einer neuen Zeile ausgegeben
echo.
pause
cls
echo on
echo {echo on} Es wird dieser Text angezeigt inkl. Ausfuehrungspfad und dieser Text in einer neuen Zeile noch mal ausgegeben
echo.
pause
cls
echo {echo.} Macht eine Leerzeile
echo.
pause
cls
@echo {@echo} Dieser Text wird ohne Ausführungspfad ausgegeben und auch nur ein mal
pause
cls
echo Hallo das ist ein Test und ich werde in der cmd angezeigt>echo.txt
pause
cls
@echo Hallo das ist ein Test und ich werde nicht in der cmd angezeigt>>echo.txt
pause
Gruß
Hallo Max
Weiss nicht, welche Zeile 63 du meinst.
Aber ja, in einem CMD-File mit @echo off am Anfang ist dann das @ bei einem if oder anderen Befehl nicht mehr nötig.
Ich verwende das @ nur, wenn ich auf der Kommandozeile was mache, welche eben kein @echo off am Anfang hat.
Der Befehl mit dem @ soll sich einfach selbst nicht auch noch echoen.
Kleines aber gutes Bsp.:
C:\>for /f %A in ('set') do @echo %A
C:\>for /f %A in ('set') do echo %A
Grüsse
Haru
Weiss nicht, welche Zeile 63 du meinst.
Aber ja, in einem CMD-File mit @echo off am Anfang ist dann das @ bei einem if oder anderen Befehl nicht mehr nötig.
Ich verwende das @ nur, wenn ich auf der Kommandozeile was mache, welche eben kein @echo off am Anfang hat.
Der Befehl mit dem @ soll sich einfach selbst nicht auch noch echoen.
Kleines aber gutes Bsp.:
C:\>for /f %A in ('set') do @echo %A
C:\>for /f %A in ('set') do echo %A
Grüsse
Haru