Batch - "Echo is off." Fehler - Wie fixen?

4 Antworten

Es liegt definitiv daran , das Deinen Variable nach dem echo leer sind.

Leerzeichen nach einem Echo werden ignoriert, sofern darauf kein Inhalt folgt. Eine Leere Variable ist "kein Inhalt"! Ein Echo ohne Text entspricht einer Abfrage des Zustands von Echo.

@echo off
echo        %blubb%
pause

Fix um sicherzustellen, das Leere Variablen oder die Worte on/off nicht als Kommando gewertet werden:

echo:        %blubb%
echo: off
echo: on 

Dein echo. ist tückisch, sollte (aus welchem Grund auch immer) in einem durch %path% gelisteten Ordner eine Datei Namens "echo" (ohne Extension existieren gibt es eine Fehlermeldung.

 rem erzeuge leere Datei  namens echo
break >echo
 rem hier gibt einen Fehler
echo.
  rem hier nicht
echo:
pause

Es dürfte äußerst unwahrscheinlich sein, das unter normalen Umständen eine solche Datei existiert. Aber jeder Aufruf von echo. veranlasst den Interpreter eine Datei "echo" zu suchen. Das belastet das System unnötig. Darum echo: !

Für jemanden, der in Batch ein "Betriebssystem" programmieren möchte, kennst Du Dich mit den syntaktischen Fallstricken von Batch erstaunlich schlecht aus.

iwie speichern die variablen nicht nach dem nächsten neustart von dem programm

Was dachtest Du? eine Variable, welche Du mit set "var=blubb" initialisierst, ist natürlich nur in der laufenden Sitzung gültig! Nach dem Neustart des Programms, sind solche Variablen wieder weg.

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren

Erzesel  04.11.2021, 17:25

PS: gestern habe ich Dir einen Hinweis darauf gegeben wie If sicher zu verwenden ist. Gib mal in Deiner Passwort-Abfrage nur Enter , Leerzeichen oder etwas mit <>&| ein. Da ist Dein Echo-Problem ein Lacher...

0

Die Meldung kommt, weil eine Zeile so interpretiert wird, dass nur "echo" ausgeführt wird. Z.b. weil die Variablen %oobeemail% und %usernameoobee% leer sind.

Woher ich das weiß:eigene Erfahrung – Ich habe selber lange im PC gearbeitet

CompleteBeeYT 
Beitragsersteller
 04.11.2021, 15:30

Meine Variablen sind NICHT leer. Wie kann ich es fixen

0
CompleteBeeYT 
Beitragsersteller
 04.11.2021, 15:44
@CompleteBeeYT

habs nochmal gemacht jetzt und jetzt steht wieder "ECHO is off." @ZaoDaDong

0
CompleteBeeYT 
Beitragsersteller
 04.11.2021, 15:47
@CompleteBeeYT

iwie speichern die variablen nicht nach dem nächsten neustart von dem programm

0
Kwalliteht  27.11.2021, 21:25
@CompleteBeeYT

Die Variablen sind definitiv leer. Das ist der einzig mögliche Grund für diese Ausgabe. Vielleicht hast Du die Variablen an irgendeiner Stelle definiert, aber offensichtlich so, dass sie an dieser Stelle leer sind.

Kleine Gemeinheit am Rande. Weist Du einer Variablen den Wert einer leeren Variablen zu, ist sie ab diesem Augenblick nicht mehr definiert.

set x= bewirkt, dass %x% danach weg ist.
set x=%y% macht exakt das gleiche, wenn %y% leer ist.

0

%oobeemail% und %usernameoobe% sind zum Zeitpunkt des Aufrufs noch nicht definiert, folglich ist der Inhalt der Zeile beim Aufruf nur:

Echo

Echo ohne Paramete bewirkt die Ausgabe des Echostatus.

Echo off schaltet den Echostatus aus. Echo on schaltet ihn an. Ist des Echostatus on, dann werden die einzelnen Befahle eine Batchdatei vor der Ausführung angezeigt.

Zeile 8 prüfen! Dort steht nur "echo".

Woher ich das weiß:Hobby – Programmierer, EDV, ... seit den 80er :)

CompleteBeeYT 
Beitragsersteller
 04.11.2021, 15:34

Sag mir genauer wo.

0
CompleteBeeYT 
Beitragsersteller
 04.11.2021, 15:33

Nein? Da ist mehr als "echo"

0