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, 5988 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
Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Systemdateien
NTFS und die Defragmentierung (26)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Zwei Subnetze mit je eigenem Router und Internetzugang verbinden (18)

Frage von hannsgmaulwurf zum Thema LAN, WAN, Wireless ...

Windows Server
WIndows Server 2016 core auf dem Intel NUC NUC5i5RYK i5 5250U (17)

Frage von IxxZett zum Thema Windows Server ...