Batch: Mehrzeiligen Text in eine Text-Datei schreiben (Win7 64)
Hallo zusammen,
ich habe eine ältere Batch, die eine Ordnerstruktur erstellt. Dieses Batch soll nun zusätzlich eine "DirInfo.txt" erstellen.
Die Ordner werden in einer Subroutine erstellt und ich möchte diese um das Erstellen der DirInfo erweitern.
Ich habe mich schon ein wenig belesen und konnte noch keine Lösung für mein Problem finden
Ich würde es gern ähnlich wie hier lösen
Batch - Variable mit Zeilenumbruch
Leider komme ich nicht drauf, was ich anpassen muss, damit mein Text über mehrere Zeilen in eine Textdatei schreiben kann.
(die vielen Sprünge sind in der Sub, da die "(" ")" immer zu "Syntaxfehler" führten)
Könnt Ihr mir bitte unter die Arme greifen?
Viele Grüße und Danke, Mobby
ich habe eine ältere Batch, die eine Ordnerstruktur erstellt. Dieses Batch soll nun zusätzlich eine "DirInfo.txt" erstellen.
Die Ordner werden in einer Subroutine erstellt und ich möchte diese um das Erstellen der DirInfo erweitern.
echo off
setlocal EnableDelayedExpansion
:MAIN
set UFOLDER=C:\Test
set UFOLDERDES="Inhalt$$hier folgt$nun die$Beschreibung$und mehr"
call :SUB
...
:SUB
echo Aufruf Subroutine zum Erstellen der Ordner %UFOLDER%\%FOLDER%
set UFOLDERDES=!UFOLDERDES:$=^) ^&^& ^(echo.!
if exist "%UFOLDER%" goto :SUBFOLDERTEST
echo Unterlagenordner wird erstellt unter "%UFOLDER%"
md "%UFOLDER%"
set INFOFILE="%UFOLDER%\DirInfo.txt"
echo schreiben des InfoFile %INFOFILE%
echo (%UFOLDERDES%) >> %INFOFILE%
goto :EOF
:SUBFOLDERTEST
if defined FOLDER goto :SUBFOLDERTEST2
echo kein anzulegendes Unterverzeichnis.
goto :EOF
:SUBFOLDERTEST2
if exist "%UFOLDER%\%FOLDER%" goto :SUBFOLDERTEST3
echo Ordner %FOLDER% wird erstellt
md "%UFOLDER%\%FOLDER%"
:SUBFOLDERTEST3
set INFOFILE="%UFOLDER%\%FOLDER%\DirInfo.txt"
if not exist %INFOFILE% goto :SUBFOLDERTEST4
echo vorhandenes Infofile %INFOFILE% wird geöscht
del %INFOFILE%
:SUBFOLDERTEST4
echo schreiben des InfoFile %INFOFILE%
echo %FOLDERDES% >> %INFOFILE%
echo Ende der Subroutine
goto :EOF
Ich habe mich schon ein wenig belesen und konnte noch keine Lösung für mein Problem finden
Ich würde es gern ähnlich wie hier lösen
Batch - Variable mit Zeilenumbruch
Leider komme ich nicht drauf, was ich anpassen muss, damit mein Text über mehrere Zeilen in eine Textdatei schreiben kann.
(die vielen Sprünge sind in der Sub, da die "(" ")" immer zu "Syntaxfehler" führten)
Könnt Ihr mir bitte unter die Arme greifen?
Viele Grüße und Danke, Mobby
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 252003
Url: https://administrator.de/contentid/252003
Ausgedruckt am: 25.11.2024 um 18:11 Uhr
5 Kommentare
Neuester Kommentar
@echo off
setlocal EnableDelayedExpansion
REM NLM _BENOETIGT_ zwingend die Leer-Zeilen darunter!
set NLM=^
set NL=^^^%NLM%%NLM%^%NLM%%NLM%
set UFOLDER=C:\TEST
set UFOLDERDES=Zeile1%NL%Zeile2%NL%Zeile3
set INFOFILE=%UFOLDER%\DirInfo.txt
echo !UFOLDERDES! >> %INFOFILE%
pause
beachte die finale ECHO Zeile und die Ausrufezeichen
Und lass die Anführungsstriche bei den SETs weg