Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Über eine Batch datei etwas in die 4. Zeile einer Textdatei schreiben

Frage Entwicklung Batch & Shell

Mitglied: Bjoern909

Bjoern909 (Level 1) - Jetzt verbinden

01.02.2008, aktualisiert 02.02.2008, 7554 Aufrufe, 11 Kommentare

Hallo Batch spezialisten,

Ich bin gerade dabei eine Batch datei zu schreiben doch ich hänge an einem Problem. Wie gebe ich eine Batch datei den Befehl etwas in die 4. Zeile einer Textdatei zu schreiben?

WÜrde mich über eine schnelle Antwort freuen und sage schon mal im Vorraus danke.
Mitglied: miniversum
01.02.2008 um 11:02 Uhr
Soll den die 4. Zeile die schon in der Textdatei drinsteht dan überschreiben werden oder soll eine Zeile nach der 3. Zeile eingefügt werden?
Bitte warten ..
Mitglied: Bjoern909
01.02.2008 um 11:15 Uhr
Es soll eine Neue Zeile nach der 4. Zeile eingefügt werde und dort soll dann der Text rein.
Bitte warten ..
Mitglied: Bjoern909
01.02.2008 um 11:29 Uhr
und noch eine Frage: Wie kann ich eine Bestimmte zeile, also ein Wort oder auch einen Satz einer Text datei, als Variable in einer anderen batch datei einsetzen?

MfG Bjoern
Bitte warten ..
Mitglied: bastla
01.02.2008 um 15:14 Uhr
Hallo Bjoern909 und willkommen im Forum!

Mit dem folgenden Batch wird die angegebene Zeile als neue Zeile 4 eingefügt - solltest Du nach der Zeile 4 einfügen wollen (Deine diesbezüglichen Aussagen sind nicht eindeutig), musst Du nur die Zeile "set Z=1" durch "set Z=0" ersetzen:
01.
@echo off & setlocal 
02.
set "Datei=D:\DeineDatei.txt" 
03.
set EinfZeile=4 
04.
set "NeueZeile=Zeileninhalt der neuen Zeile" 
05.
 
06.
set "Bak=%Datei%.bak" 
07.
move "%Datei%" "%Bak%" 
08.
set Z=1 
09.
for /f "usebackq delims=" %%i in ("%Bak%") do set "Zeile=%%i" & call :ProcessLine 
10.
goto :eof 
11.
 
12.
:ProcessLine 
13.
if %Z% neq %EinfZeile% goto :SchreibeZeile 
14.
echo %NeueZeile%>>"%Datei%" 
15.
 
16.
:SchreibeZeile 
17.
echo %Zeile%>>"%Datei%" 
18.
set /a Z+=1
Die ursprüngliche Textdatei bleibt als Sicherungskopie (mit dem Zusatz ".bak") erhalten - falls Du das nicht willst, füge die Zeile
01.
del "%Bak%"
vor der Zeile "goto :eof" ein.
Zu Deiner anderen Frage: Wodurch wird die "bestimmte Zeile" bestimmt, und wie ist dann das gesuchte Wort zu erkennen?

Grüße
bastla
Bitte warten ..
Mitglied: Bjoern909
01.02.2008 um 16:06 Uhr
ich habe eine 1. Batch datei die eine Batchdatei 2 aufruft. in dieser 2. batch datei ist dann in der 1. Zeile ein Name. Dieser ist jedoch unbekannt. Diesen möchte ich dann in Batch 1. als variable %nb% haben. Ist das mögglich?

nochmals danke für die schnelle Antwort auf Frage 1.
Bitte warten ..
Mitglied: Bjoern909
01.02.2008 um 16:15 Uhr
funktioniert der Code für Frage 1 auch für Batch dateien? Irgendwie erstellt der dann eine bak datei. Was ist das und was soll das bringen?
Bitte warten ..
Mitglied: bastla
01.02.2008 um 16:15 Uhr
Hallo Bjoern909!

in dieser 2. batch datei ist dann in der 1. Zeile ein Name.
Du kannst die gesamte erste Zeile so einlesen:
01.
set /p ErsteZeile=<Batch2.bat
Mehr kann ich Dir, ohne dass Du diese Zeile bzw das Kriterium zum Auffinden des Namens näher beschreibst, nicht anbieten ...

Grüße
bastla
Bitte warten ..
Mitglied: bastla
01.02.2008 um 16:21 Uhr
funktioniert der Code für Frage 1 auch für Batch dateien?
Grundsätzlich für alle Textdateien, daher: ja.
Irgendwie erstellt der dann eine bak datei. Was ist das ...
... eine Sicherungskopie (Textdatei vor dem Einfügen der Zeile)
... und was soll das bringen?
Sicherheit

Ansonsten magst Du ja vielleicht oben nochmals nachlesen, wie Du diese Kopie einfach wieder los wirst ...

Grüße
bastla
Bitte warten ..
Mitglied: Bjoern909
01.02.2008 um 16:25 Uhr
okay trotzdem danke für die Hilfe

MfG Bjoern
Bitte warten ..
Mitglied: Bjoern909
02.02.2008 um 14:40 Uhr
Ach und beinahe hätt ich es vergessen:
Was muss ich machen wenn ich in die 4. Zeile etwas reinschreiben will und dort schon ein Befehl steht, den ich jedoch entfernen möchte?

Also so:

@echo off
echo hallo
echo ich bins
Echo wie gehts?
pause >NUL

nach dem ausführen der Batch datei steht da dann:

@echo off
echo Hallo
echo ich bins
Echo Testsatz
pause >NUL

Also das war jetzt nur so als Besipiel genommen. natürlich stehen da ganz andere sachen.
Geht das irgendwie?
Bitte warten ..
Mitglied: bastla
02.02.2008 um 16:58 Uhr
Hallo Bjoern909!

Um die Zeile 4 zu ersetzen:
01.
@echo off & setlocal 
02.
set "Datei=D:\DeineDatei.txt" 
03.
set EinfZeile=4 
04.
set "NeueZeile=Zeileninhalt der neuen Zeile" 
05.
 
06.
set "Bak=%Datei%.bak" 
07.
move "%Datei%" "%Bak%" 
08.
set Z=1 
09.
for /f "usebackq delims=" %%i in ("%Bak%") do set "Zeile=%%i" & call :ProcessLine 
10.
goto :eof 
11.
 
12.
:ProcessLine 
13.
if %Z% neq %EinfZeile% (echo %Zeile%>>"%Datei%") else echo %NeueZeile%>>"%Datei%" 
14.
set /a Z+=1
Nochmals zu
in dieser 2. batch datei ist dann in der 1. Zeile ein Name.
Falls Du mich missverstanden haben solltest: Es ist nicht so, dass ich Dir nicht helfen wollte, sondern dass ich es ohne zusätzliche Informationen über diese Zeile nicht kann.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Erstellungsdatum vor jede Zeile einer Textdatei schreiben (5)

Frage von freakonaleash zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch um Satz zwischen Anführungszeichen aus 1. Zeile in Textdatei lesen (3)

Frage von georg2204 zum Thema Batch & Shell ...

Batch & Shell
gelöst Komplette Zeile aus Textdatei auslesen (3)

Frage von tegwert zum Thema Batch & Shell ...

Batch & Shell
gelöst Bestimmte Zeile einer Textdatei mit Batch auslesen (2)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Neue Wissensbeiträge
Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(2)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...