leb0rtran
Goto Top

Batch Leerzeile in Datei einfügen

Hallo,

ich ahbe folgendes Problem:
Ich will mir grad n Programm schreiben das mir eine txt Datei erstellt in der ein Text stehen soll, unter anderem auch mit Leerzeilen.
Aber ich weiß nicht wie ich die Leerzeilen reinbekomme.

So hab ichs schon probiert:

echo blubbb 4 fff > fff.txt
echo >> fff.txt
echo blub2 >> fff.txt

rauskommen tut aber

blubbb 4 fff
ECHO is on.
blub2

und nicht

blubbb 4 fff

blub2


wie bekomme ich nun die Leerzeile hinein?

und dann wollte ich noch wissen ob es möglich ist einen längeren Text, auch mit Zeilenbruchen etc, als Variable zu definieren?

Schonmal vielen Danl für eure Hilfe.

leb0rtran

Content-ID: 56128

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

Ausgedruckt am: 14.11.2024 um 21:11 Uhr

Dani
Dani 08.04.2007 um 21:10:47 Uhr
Goto Top
G' Abend,
versuche es einfach mal wie folgt:
echo.
Ohne ein Leerzeichen zwischen echo und dem Punkt!


Grüße
Dani
leb0rtran
leb0rtran 08.04.2007 um 21:32:20 Uhr
Goto Top
jo das wars
vielen dank an dich

weißt du auczh noch ob es möglich ist einen längeren Text, auch mit Zeilenbruchen etc, als Variable zu definieren?
Dani
Dani 08.04.2007 um 21:38:11 Uhr
Goto Top
Ok..also längere Text ist möglich. Sogar mit Leerzeichen. Wie das mit Zeilenumbrüchen ist, weiß ich nicht. Da wartest am Besten auf unsere Spezialisten (z.B. Biber):
set test=das ist das haus vom nikolaus.

Gruß
Dani
bastla
bastla 08.04.2007 um 22:07:40 Uhr
Goto Top
Hallo leb0rtran!

Schließe mich Dani's Empfehlung (auf Biber zu warten) an, hätte aber eine Idee für einen Workaround:

Wenn es bei den längeren Texten um fertige Textbausteine geht, könntest Du diese in Textdateien ablegen und per
type Baustein1.txt>>fff.txt
einsetzen, bzw die Bausteinnummer einer Variablen zuweisen und diese dann so verwenden:
type Baustein%Nr%.txt>>fff.txt

Sollen auch variable Bestandteile hinein, würde mir nur einfallen, die Zeilen vor und die Zeilen nach der Zeile mit dem variablen Inhalt jeweils in einzelne Dateien zu packen und die "variable" Zeile on the fly zusammenzubauen, also etwa:
set "Ausgabe=fff.txt"  
type Baustein%Nr%Vor.txt>>%Ausgabe%
echo erstellt am %date% um %time:~0,5% MESZ>>%Ausgabe%
type Baustein%Nr%Nach.txt>>%Ausgabe%
Die von mir verwendete Variable %Ausgabe% für die Ausgabedatei soll die Wartungsfreundlichkeit erhöhen, da bei Bedarf der Dateiname nur an einer einzigen Stelle geändert werden muss.

Grüße
bastla
46503
46503 08.04.2007 um 22:17:50 Uhr
Goto Top
Das Vergewaltigen des Environments durch mehrzeilige Variablen halte ich für keine gute Idee.
Textbausteine kann man genauso gut als Datei ablegen und verwenden, zumal die Größe von einer einzelnen Variablen im Environment auf 8912 Byte begrenzt ist und das gesamte Environment 64K nicht überschreiten darf. Wo ist die Grenze? face-wink
leb0rtran
leb0rtran 08.04.2007 um 23:42:16 Uhr
Goto Top
ok, ich stell da mit der variable vorerst mal zurück

es ist aber gerade ein neues problem aufgetaucht

und zwar wie bekomme ich zB diesen befehl zum laufen

echo [B][SIZE="4"]<°<°<°<°<°<°<°<°<°<--->°>°>°>°>°>°>°>°>°>[/SIZE][/B]>>2.txt

eine möglichkeit wäre

echo "[B][SIZE="4"]<°<°<°<°<°<°<°<°<°<--->°>°>°>°>°>°>°>°>°>[/SIZE][/B]">>2.txt

abe dann steht in der txt datei
"[B][SIZE="4"]<°<°<°<°<°<°<°<°<°<--->°>°>°>°>°>°>°>°>°>[/SIZE][/B]"

und als ausgabe soll nur

[B][SIZE="4"]<°<°<°<°<°<°<°<°<°<--->°>°>°>°>°>°>°>°>°>[/SIZE][/B]

erscheinen


auch hier

echo [FONT="Fixedsys"]Ihr Schreibt eine Nette nicht zu kurze Pm mit dem Betreff: %name%|Nick|Posts|Status|Anbindung|>>2.txt

da wird anscheinend |NICK als befehl gewertet
bastla
bastla 08.04.2007 um 23:58:55 Uhr
Goto Top
Hallo leb0rtran!

Alle Zeichen, die in Batch für besondere Funktionen verwendet werden (bei Deinem Beispiel also konkret "<", ">" und "|"), müssen mit "^" maskiert werden, daher:
echo [B][SIZE="4"]^<ø^<°^<°^<°^<°^<°^<°^<°^<°^<---^>°^>°^>°^>°^>°^>°^>°^>°^>°^>[/SIZE][/B]>>2.txt  
echo [FONT="Fixedsys"]Ihr schreibt eine nette, nicht zu kurze, PM mit dem Betreff: %name%^|Nick^|Posts^|Status^|Anbindung^|>>2.txt  
Nur als Anmerkung: Je nach Codepage werden die Grad-Zeichen "°" unterschiedlich dargestellt - unter ASCII (also im CMD-Fenster) müsstest Du dafür "ø" verwenden - siehe im Beispiel oben.

Grüße
bastla
leb0rtran
leb0rtran 10.04.2007 um 19:40:32 Uhr
Goto Top
ok so funktionierts

hats ich dann erledigt
kann geclosed werden