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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 56198
Url: https://administrator.de/contentid/56198
Ausgedruckt am: 14.11.2024 um 21:11 Uhr
2 Kommentare
Neuester Kommentar
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:
Und meinetwegen kannst Du diese Displaymimik auch über einen "CALL :displayIt abfackeln:
Gruss Biber
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