Top-Themen

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 Zeile in einer Textdatei finden und ersetzen

Mitglied: karniggel

karniggel (Level 1) - Jetzt verbinden

28.08.2008, aktualisiert 29.08.2008, 7141 Aufrufe, 5 Kommentare

Hallo,

habe mich bereits schon durch andere Beispiele durchgesucht, bekomme aber meine Datei nicht zum Laufen;
ich hoffe Ihr könnt mir schnell helfen:

Ich möchte in einer Textdatei test.txt eine Zeile, die mit den 4 Zeichen "OBJP" beginnt durch einen anderen Text ersetzen,
hier meine Versuche:

@echo off
for /f "delims=" %%i in (test.txt) do call :block "%%i"
goto :eof

:block
set "a=%CD%"
set "zzz=%~1"
set "z=%zzz:~0,4%"
if %z% EQU "OBJP" echo "OBJP "%a% >> xxx.txt
if %z% NEQ "OBJP" echo %zzz% >> xxx.txt

Leider wird die Zeile nicht ersetzt !?

Vielen Dank schon im Voraus.
Mitglied: bastla
29.08.2008 um 00:51 Uhr
Hallo karniggel!

Vielleicht geht's so besser:
01.
@echo off & setlocal 
02.
for /f "delims=" %%i in (test.txt) do call :block "%%i" 
03.
goto :eof 
04.
 
05.
:block 
06.
set "a=%CD%" 
07.
set "zzz=%~1" 
08.
set "z=%zzz:~0,4%" 
09.
if "%z%" EQU "OBJP" echo OBJP %a% >> xxx.txt 
10.
if "%z%" NEQ "OBJP" echo %zzz% >> xxx.txt
Grüße
bastla

[Edit] @Biber: Schön, dass Du wieder da bist - aber, von wegen Rechtsüberholer - Abkürzungsbenutzer! [/Edit]
Bitte warten ..
Mitglied: Biber
29.08.2008 um 01:04 Uhr
Moin karniggel,

willkommen im Forum.

Drei Grundregeln solltest Du beim Bätchen beachten:
  • immer mit "@echo off & setlocal" beginnen, wenn Du selbst Variablen per SET definierst
  • beim Vergleichen immer Äpfel mit Äpfeln und Birnen mit Birnen vergleichen, niemals mischen
  • niemals, wirklich niemals im Bereich "Batch & Shell" schreiben: "Vielen Dank schon im Voraus"

Okay, die Verletzung der ersten und dritten Grundregel hatte im konkreten Fall keine nachhaltigen Auswirkungen, aber der Regel-2-Verstoss hat Dich reingerissen.

if %z% EQU "OBJP" echo ...
-->Selbst wenn in %z% die 4 Zeichen OBJP stehen würden, wäre der Vergleich
if OBJP EQU "OBJP" ...
...niemals erfolgreich.

Immer beiderseits eines == oder EQU oder NEQ....-Vergleichs die Werte in die gleichen Begrenzer setzen.
Das müssen keine Anführungszeichen sein, es ginge auch ein
if [%z%] EQU [OBJP} ....
Grüße
Biber
[Edit] Biber grüßt alle altbekannten und geschätzten Rechtsüberholer! *g [/Edit]
Bitte warten ..
Mitglied: karniggel
29.08.2008 um 11:41 Uhr
Vielen Dank euch beiden,
die Datei läuft super !

Habe noch ein kleines Problem - wahrscheinlich mit der echo-Ausgabe,
diese fügt am Ende jeder Zeile noch ein Leerzeichen an.
Wie bekomme ich das noch weg?
Bitte warten ..
Mitglied: bastla
29.08.2008 um 11:52 Uhr
Hallo karniggel!

ZB so:
01.
if "%z%" EQU "OBJP" >>xxx.txt echo OBJP %a% 
02.
if "%z%" NEQ "OBJP" >>xxx.txt echo %zzz%
Achte dabei darauf, dass sich nicht am Ende der Zeile noch ein Leerzeichen befindet ...

Alternativ zu der gezeigten Schreibweise könnte es auch genügen, das Leerzeichen zwischen der Variable und den Umleitungszeichen (also hier: %a% >>) zu entfernen.

Grüße
bastla
Bitte warten ..
Mitglied: karniggel
29.08.2008 um 12:07 Uhr
Klappt hervorragend,
vielen vielen Dank !!!

Grüße
karniggel
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Textdatei Zeile für Zeile auslesen
Frage von RIPUEDBatch & Shell

Hallo, ich würde gerne mit einem Batch-Skript Zeilen aus einer Textdatei einzeln und nacheinander auslesen und diese dann nach ...

Batch & Shell

Powershell - In Textdatei suchen und ersetzen

gelöst Frage von Raaja89Batch & Shell5 Kommentare

Hallo Zusammen, ich habe einen Textdatei mit vielen aufeinander folgendenden Leerzeichen und wo an diversen Stellen Überschriften stehen. Ungefähr ...

Ausbildung

Nummerierung jeder Zeile in einer Textdatei

gelöst Frage von MihailAusbildung4 Kommentare

Guten Tag sehr geehrten Admins, Ich versuche seit einer Weile, als absoluter Anfänger eine batch-Datei zu finden die, wie ...

VB for Applications

VBS-Entfernen von Zeilen in einer Textdatei

Frage von Calim3roVB for Applications5 Kommentare

Hallo zusammen Ich möchte aus einer Textdatei Zeilen entfernen. Ich habe drei Dateien, in Datei "A" stehen Wörter, in ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 3 StundenHumor (lol)1 Kommentar

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 16 StundenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 16 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 20 StundenMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server40 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing19 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...