Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch: Mehrzeiligen Text in eine Text-Datei schreiben (Win7 64)

Frage Entwicklung Batch & Shell

Mitglied: mobby83

mobby83 (Level 1) - Jetzt verbinden

15.10.2014, aktualisiert 16.10.2014, 1198 Aufrufe, 5 Kommentare

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.

01.
echo off 
02.
setlocal EnableDelayedExpansion 
03.
 
04.
:MAIN 
05.
set UFOLDER=C:\Test 
06.
set UFOLDERDES="Inhalt$$hier folgt$nun die$Beschreibung$und mehr" 
07.
call :SUB 
08.
 
09.
... 
10.
 
11.
:SUB 
12.
echo Aufruf Subroutine zum Erstellen der Ordner %UFOLDER%\%FOLDER% 
13.
set UFOLDERDES=!UFOLDERDES:$=^) ^&^& ^(echo.! 
14.
  if exist "%UFOLDER%" goto :SUBFOLDERTEST 
15.
    echo Unterlagenordner wird erstellt unter "%UFOLDER%" 
16.
    md "%UFOLDER%" 
17.
    set INFOFILE="%UFOLDER%\DirInfo.txt" 
18.
    echo schreiben des InfoFile %INFOFILE% 
19.
    echo (%UFOLDERDES%) >> %INFOFILE% 
20.
    goto :EOF 
21.
:SUBFOLDERTEST 
22.
  if defined FOLDER goto :SUBFOLDERTEST2 
23.
    echo kein anzulegendes Unterverzeichnis. 
24.
    goto :EOF 
25.
:SUBFOLDERTEST2 
26.
  if exist "%UFOLDER%\%FOLDER%" goto :SUBFOLDERTEST3 
27.
    echo Ordner %FOLDER% wird erstellt 
28.
    md "%UFOLDER%\%FOLDER%" 
29.
:SUBFOLDERTEST3 
30.
  set INFOFILE="%UFOLDER%\%FOLDER%\DirInfo.txt" 
31.
  if not exist %INFOFILE% goto :SUBFOLDERTEST4 
32.
    echo vorhandenes Infofile %INFOFILE% wird geöscht 
33.
    del %INFOFILE% 
34.
:SUBFOLDERTEST4 
35.
  echo schreiben des InfoFile %INFOFILE% 
36.
  echo %FOLDERDES% >> %INFOFILE% 
37.
  echo Ende der Subroutine 
38.
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
http://www.administrator.de/frage/batch-variable-mit-zeilenumbruch-5619 ...

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
Mitglied: SeaStorm
LÖSUNG 15.10.2014, aktualisiert 16.10.2014
01.
@echo off 
02.
 
03.
setlocal EnableDelayedExpansion 
04.
REM NLM _BENOETIGT_ zwingend die Leer-Zeilen darunter! 
05.
set NLM=^ 
06.
 
07.
 
08.
set NL=^^^%NLM%%NLM%^%NLM%%NLM% 
09.
 
10.
 
11.
set UFOLDER=C:\TEST 
12.
 
13.
set UFOLDERDES=Zeile1%NL%Zeile2%NL%Zeile3 
14.
    
15.
set INFOFILE=%UFOLDER%\DirInfo.txt 
16.
echo !UFOLDERDES! >> %INFOFILE%  
17.
 
18.
pause
beachte die finale ECHO Zeile und die Ausrufezeichen

Und lass die Anführungsstriche bei den SETs weg
Bitte warten ..
Mitglied: Treemanhero98
15.10.2014 um 18:46 Uhr
01.
@echo off 
02.
echo Erste Zeile > Beispiel.txt 
03.
echo Zweite Zeile >> Beispiel.txt 
04.
echo Dritte Zeile >> Beispiel.txt 
05.
echo Vierte Zeile >> Beispiel.txt 
06.
exit
Suchst du sowas ??

Hoffe das Ich helfen konnte

LG

Treemanhero98
Bitte warten ..
Mitglied: mobby83
16.10.2014 um 08:09 Uhr
Danke, das funktioniert.
Kannst du mir ggf. noch kurz erläutern, was NLM und NL machen.(?) Im Grunde steht doch bei NL = (8x ^) - warum kann ich das nicht gleich so schreiben? Oder geht es um die Lehrzeile die mit NLM durch das ^ verknüpft wird?
Bitte warten ..
Mitglied: mobby83
16.10.2014 um 08:10 Uhr
die mehreren Echobefehle scheiden aus, da ich nur einen Wert (Variable) in die Sub übergeben kann, ohne die Batch komplett neu zu verfassen (das widerstrebt mir )
Bitte warten ..
Mitglied: SeaStorm
16.10.2014 um 08:12 Uhr
Ja es geht um die Leerzeilen in NLM
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Windows Systemdateien
gelöst Registry-Schlüssel per Batch auslesen und in Datei schreiben (9)

Frage von Philzip zum Thema Windows Systemdateien ...

Batch & Shell
gelöst Batch-Skript: Messdaten in Textdatei finden und in eine neue Datei schreiben (5)

Frage von habmalnefrage zum Thema Batch & Shell ...

Batch & Shell
Text-Datei auslesen und Inhalt als Parameter übergeben (1)

Frage von aubm2013 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (10)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...