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

Batch - Zeile finden und ersetzen

Frage Entwicklung Batch & Shell

Mitglied: Domain-Jane

Domain-Jane (Level 1) - Jetzt verbinden

23.07.2013 um 21:31 Uhr, 6163 Aufrufe, 2 Kommentare

Hallo ihr,

ich habe nun eine Weile mit nem gepipten findstring rumprobiert,
aber ich denke, für das Problem verlangt die Batch wieder ne
getunte For-Schleife eines Profis...

Ich möchte in einem Batch-file nach einem String suchen und
die Zeile, die ihn enthält, durch eine andere Zeile (zwei Wörter) ersetzen.
Ein schlichtes Ersetzen der Strings reicht nicht, weil der Suchstring variiert.

Bsp.:
Fall 1
Datei.bat
Wurmloch 15
Kältemittelwarmduscher
Knopfloch 37
Hopfenpfisterei
Wurstkater
Ersatzstring: Knopfloch 36

Fall 2
Datei.bat
Wurmloch 15
Kältemittelwarmduscher
Knopfloch 42
Hopfenpfisterei
Wurstkater
Ersatzstring: Knopfloch 44

usw.

-> Knopfloch 37(42) soll also durch Knopfloch 36(44) ersetzt werden.
Das Schlüsselwort Knopfloch bleibt immer gleich. (Original- und Ersatzstring)
Die Zahlen (welche auch Buchstaben enthalten können) sind bei beiden immer unterschiedlich.

Mit Dank im Voraus,

Jane
Mitglied: Endoro
23.07.2013 um 22:47 Uhr
Servus,
kannst du mal testen:
01.
@echo off &setlocal 
02.
set "search=Knopfloch 37" 
03.
set "replace=Knopfloch 36" 
04.
set "textfile=file.txt" 
05.
set "newfile=new.txt" 
06.
 
07.
(for /f "delims=" %%i in ('findstr /n "^" "%textfile%"') do ( 
08.
	set "line=%%i" 
09.
	setlocal enabledelayedexpansion 
10.
	set "line=!line:%search%=%replace%!" 
11.
	echo(!line! 
12.
	endlocal 
13.
))>"%newfile%" 
14.
type "%newfile%"
lg
Bitte warten ..
Mitglied: Domain-Jane
24.07.2013 um 20:17 Uhr
Hi Endoro,

danke für die schnelle Antwort!
So ähnlich hatte ich es bereits.
Allerdings möchte ich nur nach dem String Knopfloch suchen, um dadurch die Zeilennummer zu erhalten
und dann die zwei Zeichenfolgen ersetzen. (Die Zahl hinter Knopfloch darf nicht im Suchstring enthalten sein,
weil sie immer unterschiedlich ist.)
Gibt es denn nicht so etwas wie ne Wildcard? Knopfloch* funktioniert leider nicht.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Zeile eine Datei per batch ersetzen (1)

Frage von duckknight zum Thema Batch & Shell ...

Batch & Shell
Batsch doppelte Zeile in in Text finden und eine löschen (10)

Frage von GNLen1 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Syntaxfehler, aber finde ihn nicht :( (5)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (19)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...

Festplatten, SSD, Raid
RAID Controller mit Trim-Funktion, wie ermitteln (11)

Frage von pixel24 zum Thema Festplatten, SSD, Raid ...