Echo ist Ausgeschaltet
Hallo miteinander,
Ich versuche gerade die Ausgabe einer For-Schleife, welche ich in einer .txt Datei speicher, zu optimieren.
Dabei wird zwar richtig ausgegeben, aber am Anfang steht immer "Echo ist ausgeschaltet"
nochmal zur Verdeutlichung:
Also die ersten zwei Zeilen sollen praktisch nicht ausgegeben werden.
Am anfang der .bat schalte ich Echo mit "@echo off" aus.
Wisst ihr eventuell wie man das weg bekommt?
Gruss WulleBier
Ich versuche gerade die Ausgabe einer For-Schleife, welche ich in einer .txt Datei speicher, zu optimieren.
Dabei wird zwar richtig ausgegeben, aber am Anfang steht immer "Echo ist ausgeschaltet"
nochmal zur Verdeutlichung:
Echo ist ausgeschaltet (OFF).
Echo ist ausgeschaltet (OFF).
{rest von Ausgabe}
{rest von Ausgabe}
{rest von Ausgabe}
Also die ersten zwei Zeilen sollen praktisch nicht ausgegeben werden.
Am anfang der .bat schalte ich Echo mit "@echo off" aus.
Wisst ihr eventuell wie man das weg bekommt?
Gruss WulleBier
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 172798
Url: https://administrator.de/contentid/172798
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
23 Kommentare
Neuester Kommentar
Moin WulleBier,
bei mir ist meist so, dass ich per Echo eine Variable ausgeben möchte. Z. B. so
Wenn aber %Hallo% nicht gefüllt ist, kommt es zu so einer Erscheinung. In diesem Fall einfach mal im verdächtigen Scriptteil ein Echo on einfügen, dann siehst Du genau, welche Zeile / Eintrag dafür verantwortlich ist.
Ohne Dein Script nämlich wird es schwer werden, Dir zu helfen
Gruß
Markus
[Edit] ich muß einfach lernen, schneller zu tippen ...[/Edit]
[Edit2]
Dafür formatierst Du Deine Kommentare schöner ....
[/Edit2]
bei mir ist meist so, dass ich per Echo eine Variable ausgeben möchte. Z. B. so
echo %Hallo%
Wenn aber %Hallo% nicht gefüllt ist, kommt es zu so einer Erscheinung. In diesem Fall einfach mal im verdächtigen Scriptteil ein Echo on einfügen, dann siehst Du genau, welche Zeile / Eintrag dafür verantwortlich ist.
Ohne Dein Script nämlich wird es schwer werden, Dir zu helfen
Gruß
Markus
[Edit] ich muß einfach lernen, schneller zu tippen ...[/Edit]
[Edit2]
Dafür formatierst Du Deine Kommentare schöner ....
[/Edit2]
moin,
nunja...
ohne die Testbätch (die auch noch @echo off benutzt) zu kennen, muß man wieder Rätseln.
ergo wirst du irgendwo einen Bug drin haben, der für dich so aussehen mag, dass du ein echo %variable% irgendwo stehen hast und die variable leer ist.
Von daher?
Wie würdest du nun dein und unser Problem lösen?
Gruß
Edit
3 Dumme, ein Gedanke
/edit
[Edit] ich muß einfach lernen, schneller zu tippen ...[/Edit]
Nö.... du warst noch schneller als wie meiner einer
PS:
nunja...
ohne die Testbätch (die auch noch @echo off benutzt) zu kennen, muß man wieder Rätseln.
- ein simples echo liefert den Zustand (on/off) zurück
ergo wirst du irgendwo einen Bug drin haben, der für dich so aussehen mag, dass du ein echo %variable% irgendwo stehen hast und die variable leer ist.
Von daher?
Wie würdest du nun dein und unser Problem lösen?
Gruß
Edit
3 Dumme, ein Gedanke
/edit
[Edit] ich muß einfach lernen, schneller zu tippen ...[/Edit]
Nö.... du warst noch schneller als wie meiner einer
PS:
if not "%kristallkugel%=="" echo %kristallkugel%
Wenn du vernüftige Angaben liefert, weiß das sicher jemand, so gibt es nur ein "wenig anspruchsvoll".
hmm..
auch auf die Gefahr hin...
<edit>
so da wären ein paar unhybschheiten beseitigt.
u.a bei echo %%j >> -leerzeichen in der log mag ich nicht.
</edit>
auch auf die Gefahr hin...
@echo off
:start
cls
:v1
@echo Geben Sie den absoluten Pfad der .txt Datei ein!Achten Sie dabei auf korrekte Eingabe! (z.B. C:\):
set /P laufwerk=
@echo %laufwerk%|find ":\" && if not exist %laufwerk% goto start
:v2
echo Geben Sie den vollstaendeigen Pfad des Confluence Line Interface an!
set /P cli=
if not exist %cli% goto v2
:done
cd %laufwerk%
:einlesen
for /f "eol=; delims=/" %%i in ('Findstr /c:"/" %laufwerk%') do set %%i
for /f "usebackq skip=5 eol=# delims=#" %%k in (%laufwerk%) do (
call %cli% --action loadFiles --space "%Space%" --title "%title%" --file %%k --replace
)
call %cli% --action getPageSource --space "%Space%" --title "%title%" --file "%dirPath%"\SourceCode.txt
for /f "eol=; tokens=1,2 delims=#" %%i in (%laufwerk%) do @if not "%%j"=="" @echo %%j>>"%dirPath%"\SourceCode.txt
:Eof
so da wären ein paar unhybschheiten beseitigt.
u.a bei echo %%j >> -leerzeichen in der log mag ich nicht.
</edit>
Zitat von @WulleBier:
ner .bat
if not exist %laufwerk%%cli% goto v2
Was machst du hier? %laufwerk% und %cli% sind 2 Verschiedene Pfadangaben: Einmal zu ner .txt aus der gelesen wird und einmal zuner .bat
nunja - das in ein sogenannter Vorschlag, aber du hattest soviele rems in der Datei, da hab ich den Wald vor lauter Bäumen nicht gesehen.
Wird auch nicht mehr vorkommen...
Mit den ganzen Fehlern in deinem Script wird das auch nichts werden.
CD braucht einen Parameter, set %%i ist Murks und nach meiner Ansicht sind ein paar Variablen überhaupt nicht definiert.
Vielleicht fängst du mal mit echo on in der ersten Zeile an und machst zwischendurch mal eine pause.
CD braucht einen Parameter, set %%i ist Murks und nach meiner Ansicht sind ein paar Variablen überhaupt nicht definiert.
Vielleicht fängst du mal mit echo on in der ersten Zeile an und machst zwischendurch mal eine pause.
Moin,
das nur unter sehr vornehmen Zeitgenossen und Genossinnen als Murksfrei bezeichnet werden würde.
Aber auch nur, weil die so ein Wort nicht kennen.
gruß
Zitat von @WulleBier:
Warum sollte set %%i murks sein? Also bei mir fuktionierts. Vielleicht hab ich ja das definieren der Variablen in die Textdatei
geschrieben , welche durchgegangen wird schonmal daran gedacht?
Warum sollte set %%i murks sein? Also bei mir fuktionierts. Vielleicht hab ich ja das definieren der Variablen in die Textdatei
geschrieben , welche durchgegangen wird schonmal daran gedacht?
- Weil
18. for /f "eol=; delims=/" %%i in ('Findstr /c:"/" %laufwerk%') do set %%i
das nur unter sehr vornehmen Zeitgenossen und Genossinnen als Murksfrei bezeichnet werden würde.
Aber auch nur, weil die so ein Wort nicht kennen.
gruß
Ich verstehe gar nicht, wo die ganzen Antworten her kommen, obwohl der Thread doch "gelöst" ist.
@t-mo
Wenn man sich daran gewöhnt hat, dass "%laufwerk%" eine Textdatei repräsentiert, kann
durchaus sinnvoll sein (auch wenn ich eher
geschrieben hätte): For-Schleife .txt Datei und 3 Variablen speichern
Grüße
bastla
Wenn man sich daran gewöhnt hat, dass "%laufwerk%" eine Textdatei repräsentiert, kann
for /f "eol=; delims=/" %%i in ('Findstr /c:"/" %laufwerk%') do set %%i
for /f "eol=; delims=/" %%i in ('Findstr /c:"/" "%laufwerk%"') do set "%%i"
Grüße
bastla
Bonjour Bastla
[OT]
Naaaaja - wenn ich an sowas gewöhne
retour
Zitat von @bastla:
@t-mo
Wenn man sich daran gewöhnt hat, dass "%laufwerk%" eine Textdatei repräsentiert, kann
@t-mo
Wenn man sich daran gewöhnt hat, dass "%laufwerk%" eine Textdatei repräsentiert, kann
[OT]
Naaaaja - wenn ich an sowas gewöhne
05. set /P laufwerk=
06.
07. echo Geben Sie den vollstaendeigen Pfad des Confluence Line Interface an!
06.
07. echo Geben Sie den vollstaendeigen Pfad des Confluence Line Interface an!
- dann war ich wohl wirklich auf dem Holz
pfadweg
Grüße
bastla
bastla
retour
moin,
auch wenn das Thema schon fast erledigt ist...
wenn in der Forschleife nur das zweite Token verwertet werden soll (wenn der erste Teil sowieso uninteressant ist) braucht man nicht das erste Token zur auswertung in der Forschleife angeben. Der Vergleich ob%%i %%j [Edit]ach doch [/Edit] %%i nicht leer ist kann da auch entfallen.
[Edit %%i statt %%j gesetzt ]
wenn im zweiten Token NUR Leerzeichen sind müsste ja eh der Platzhalter \ ans echo ran
Gruß Phil
auch wenn das Thema schon fast erledigt ist...
wenn in der Forschleife nur das zweite Token verwertet werden soll (wenn der erste Teil sowieso uninteressant ist) braucht man nicht das erste Token zur auswertung in der Forschleife angeben. Der Vergleich ob
(
for /f "tokens=2 delims=#" %%i in (%laufwerk%) do >>&3 echo %%i
)3>>"%dirPath%"\SourceCode.txt
wenn im zweiten Token NUR Leerzeichen sind müsste ja eh der Platzhalter \ ans echo ran
Gruß Phil