leb0rtran
Goto Top

Batch - Variable mit Zeilenumbruch

Hallo

mich würde interessieren ob es überhaupt mögl. ist in einem Batch Programm eine Variable mit Zeilenumbruch du Definieren, und zwar indem ich sie eingeb, also nicht direkt im Code:

set /p Variable1=Variable eingeben

und dann als Variable irgentwo einen kleinen Text Rauskopieren, mit max ~1000 Zeichen, meist aber ~500 Zeichen, zB

das ist da haus vom nikolaus
blablabla

das aber nicht etc pp

Ist das möglich?
Und wenn ja wie?

Schonmal vielen Dank für eure Mühen

leb0rtran

Content-Key: 56198

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

Ausgedruckt am: 28.03.2024 um 14:03 Uhr

Mitglied: Biber
Biber 10.04.2007 um 06:04:07 Uhr
Goto Top
Moin leb0rtran,

eigentlich ist es nicht möglich.
Heisst, Du kannst den Zeilenumbruch selbst nicht so in einer Textvariable speichern, wie es zum Beispiel mit VBSkript üblich wäre, indem Du irgendwelche vbCRLFs oder chr(13) & chr(10) in eine Variable integrieren kannst.

Du kannst natürlich genau diese Mimik nachbilden und Dir selbst ein "batCRLF"-Zeichen definieren und selbst auflösen, wenn die Übung nur bei Display-Aktionen verwendet wird.
Mini-Demo mit dem $-Zeichen als Platzhalter für den Zeilenumbruch:
::----snipp DispAsLines.bat
@echo off & setlocal
set "myVar=das ist$ein Text,$der über mehrere Zeilen angezeigt werden soll.$$MfG Biber"  
set dispvar=%myvar:$=^) ^&^& ^(echo.%
(Echo %dispvar%)
::----snapp DispAsLines.bat
$cmd$DispAsLines.bat
das ist
ein Text,
der über mehrere Zeilen angezeigt werden soll.
[Leerzeile]
MfG Biber

Und meinetwegen kannst Du diese Displaymimik auch über einen "CALL :displayIt abfackeln:
::----snipp DispAsLinesWithCall.bat
@echo off & setlocal
set "myVar=das ist$ein Text,$der über mehrere Zeilen angezeigt werden soll.$$MfG Biber"  
Set "dyVar=das ist da haus vom nikolaus$blablabla$$das aber nicht etc pp"  

call :displayIt "%myvar%"  
Call :displayIt "%dyvar%"  
goto :eof
---Raum für Notizen oder noch mehr Dönekens---

:displayIt
set "dispvar=%~1"  
set dispvar=%dispvar:$=^) ^&^& ^(echo.%
(Echo %dispvar%)
::----snapp DispAsLinesWithCall.bat
Gruss Biber
Mitglied: leb0rtran
leb0rtran 10.04.2007 um 19:39:02 Uhr
Goto Top
ok das is mir n bischen zu kompliziert
realisier ich das irgentwie anders
kann geclosed werden