motorcross
Goto Top

Eine 0 die in einer Variable steht in eine .txt schreiben

Hallo Administratoren,

wie kann man eine 0 die in einer Variable steht in eine .txt schreiben?
Ich habe es schon mit:
echo %variable%>test.txt
versucht aber dann steht in der .txt Datei gar nichts drinn.
Könnte mir jemand helfen?
Gruß Motorcross

Content-Key: 140295

Url: https://administrator.de/contentid/140295

Ausgedruckt am: 29.03.2024 um 08:03 Uhr

Mitglied: Dani
Dani 10.04.2010 um 23:13:47 Uhr
Goto Top
Hi Motorcross,
wenn du nur "echo %var%" eingibst erscheint dann die NULL?!

Ich habe gerade an meinem Prompt folgendes gemacht:
C:\>set test=0
C:\>echo %test% > test.txt
Und siehe da die Null steht in der Textdatei.


Grüße,
Dani
Mitglied: rubberman
rubberman 10.04.2010 um 23:31:05 Uhr
Goto Top
Hallo Motorcross und Dani.

Ihr habt beide Recht. Wenn kein Leerzeichen vor der Pipe steht, dann hat die Null eine spezielle Bedeutung (stdIn) und erscheint somit nicht in der Textdatei. Steht jedoch ein Leerzeichen vor der Pipe, wird die Null umgeleitet, aber auch das Leerzeichen. Eine Lösung wäre, das ganze einfach umzudrehen:
>test.txt echo %variable%

Grüße
rubberman
Mitglied: Biber
Biber 11.04.2010 um 00:28:12 Uhr
Goto Top
Moin Motorcross,

dieses Verhalten tritt beim "ECHO"-Befehl bei der (versuchten) Umleitung der Ziffern 0-5 auf, da diese missverstanden werden können als Ein-/Ausgabekanäle.

Vermeidung der Fehlinterpretationen entweder wie von Dani vorgemacht (dann hast du allerding die Ziffer "0" in der Datei und zusätzlich ein Leerzeichen dahinter, oder so:
[der String $cmd$ stellt meinen Prompt dar, NICHT mit eingeben,
$cmd$echo 0
0

D:\temp>
$cmd$echo 0>con
ECHO ist eingeschaltet (ON).

D:\temp>
$cmd$>0 echo 0

D:\temp>
$cmd$>con echo 0
0
D:\temp>
$cmd$
Erläuterung:
  • der erste Befehl "echo 0" macht genau was erwartet wird.
  • der zweite Befehl "Echo 0>con", also auch "nur ein echo 0", aber mit expliziter Umleitung auf die Konsole "con" geht schief - die 0 kommt nicht an == wie in dem von dir beschriebenen Fall auch
  • erst durch die Umstellung "zuerst Umleitungszeichen und -ziel, dann echo und echo-Inhalt klappt es wieder

Grüße
Biber
[Edit] Uups, rubberman, hatte deinen Kommentar gar nicht gesehen -- dann war ich wohl ein bisschen zu langsam... [/Edit]
Mitglied: Motorcross
Motorcross 11.04.2010 um 10:47:38 Uhr
Goto Top
Hallo Administratoren,
vielen Dank für die Hilfe!
Gruß Motorcross