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

Batch Problem, Suchen und Ersetzen in einer ini-Datei

Frage Entwicklung Batch & Shell

Mitglied: ufo2012

ufo2012 (Level 1) - Jetzt verbinden

05.08.2008, aktualisiert 14:08 Uhr, 8303 Aufrufe, 6 Kommentare

Hallo,

ich habe mich schon seit gestern durch das Forum durchgegraben, habe auch viele hinweise gefunden, nur fehlt mir noch ein kleiner Hinweis, um das Problem zu lösen.

Ich möchte gerne in einer ini-Datei eine komplette zeile löschen und durch eine neue ersetzen. Soll so ausschauen:

vorher:
[Notes]
DominoResLang=de
Directory=C:\Lotus\Notes
KitType=1
InstallType=2
WinNTIconPath=C:\Lotus\Notes\Data\W32
Timezone=-1


nachher:
[Notes]
DominoResLang=de
Directory=C:\Dokumente und Einstellungen\%username%\Eigene Dateien
KitType=1
InstallType=2
WinNTIconPath=C:\Lotus\Notes\Data\W32
Timezone=-1

ich habe jetzt schon herausgefunden wie man (leider) beide Zeilen ändert.
durch:




@echo off & setlocal enabledelayedexpansion

set "Datei=c:\test.ini"
set "Directory=C:\Lotus\Notes"
set "Nach=c:\Dokumente und Einstellungen\%username%\Eigene Dateien"
set "t=%temp%\text.tmp"


if exist "%t%" del "%t%"
for /f "delims=" %%i in ('findstr /n $ "%Datei%"') do set "Line=%%i" & call :ProcessLine

move "%t%" "%Datei%"

goto :eof

:ProcessLine
for /f "tokens=1* delims=:" %%a in ("%Line%") do set "L=%%b"
if not defined L >>"%t%" echo\& goto :eof
>>"%t%" echo !L:%Directory%=%Nach%!

goto :eof

Am liebsten würde ich gerne die Zeile "set "Directory=C:\Lotus\Notes" " so schreiben, leider funktioniert das dann nicht

"set "Von=Directory=C:\Lotus\Notes" "



grüßle

ufo2012
Mitglied: bastla
05.08.2008 um 11:44 Uhr
Hallo ufo2012!

Hier sollte (das für die Verarbeitung von Text besser geeignete) VBScript zusätzlich verwendet werden (auch, wenn es weiterhin ein Batch bleibt):
01.
@echo off & setlocal 
02.
 
03.
set "Datei=C:\test.ini" 
04.
set "Von=Directory=C:\Lotus\Notes" 
05.
set "Nach=Directory=c:\Dokumente und Einstellungen\%%username%%\Eigene Dateien" 
06.
 
07.
set "R=%temp%\Repl.vbs" 
08.
> %R% echo Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile("%Datei%").ReadAll:fso.CreateTextFile("%Datei%",True).Write Replace(T,"%Von%","%Nach%") 
09.
 
10.
cscript //nologo %R%
Bitte beachten: Wenn die Variable %username% nicht aufgelöst werden soll, muss sie mit doppelten Prozentzeichen geschrieben werden.

Grüße
bastla
Bitte warten ..
Mitglied: ufo2012
05.08.2008 um 12:33 Uhr
Hallo bastla,

danke für die schnelle Antwort, aber funktioniert leider nicht.


Fehlermeldung:
"Input-Fehler: Für die Dateierweiterung ".vbs@echo" gibt es kein Skriptmodul.
FINDSTR: /c wurde ignoriert"


und der Inhalt schaut dann so aus:


"

\Lotus\Notes


\Lotus\Notes\Data\W32

"

Kann es seien, da ich noch Win2000 verwende, dass dies Probleme bereitet?

grüßle

ufo2012
Bitte warten ..
Mitglied: bastla
05.08.2008 um 12:40 Uhr
Hallo ufo2012!

Nur zur Sicherheit: Der von mir gepostete Batch ist eigenständig zu verwenden und nicht mit dem ersten Batch zu kombinieren ...

Grüße
bastla
Bitte warten ..
Mitglied: ufo2012
05.08.2008 um 12:54 Uhr
Hallo bastla,

stimmt, ich habe es in die bestehende batchdatei hineinkopiert.

Soweit, so gut, ich habe jetzt ein bißchen hin und her probiert, aber

leider ändert sich gar nichts. (oder ich übersehe etwas)


grüßle

ufo2012
Bitte warten ..
Mitglied: bastla
05.08.2008 um 13:09 Uhr
Hallo ufo2012!

Mit den von Dir geposteten Testdaten klappt es bei mir ...

Um Groß-/Kleinschreibung der zu ersetzenden Zeile als Fehlerquelle auszuschließen, verwende bitte als Ersatz für die Zeile 8:
01.
> %R% echo Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile("%Datei%").ReadAll:fso.CreateTextFile("%Datei%",True).Write Replace(T,"%Von%","%Nach%",1,-1,1)
Wenn Du außerdem (nur zum Testen) in der ersten Zeile "echo off" durch "echo on" ersetzt und den Batch von der Kommandozeile startest, kannst Du den Ablauf nachvollziehen.

Grüße
bastla
Bitte warten ..
Mitglied: ufo2012
05.08.2008 um 14:08 Uhr
Hi bastla,

Ja es klappt, tausend Danke dafür. Erspart mir sehr viel arbeit.

Danke nochmals


grüßle

ufo2012
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
BATCH ini Datei Datei auslesen
gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Batch & Shell
INI Datei über Batch Script verändern
Frage von SchmidleBatch & Shell3 Kommentare

Hallo zusammen, ich muss in einer ini Datei einen Eintrag anpassen, der den ProxyServer hinterlegt. Wir haben einen neuen ...

Batch & Shell
Batch: Dateien innerhalb einer Ordnerstruktur nach einem Sting suchen und ersetzen
Frage von yousaintBatch & Shell2 Kommentare

Hallo zusammen, wie oben erwähnt, würde ich gerne innerhalb einer Ordnerstruktur (Dateien innerhalb aller Unterordner) in den Dateien nach ...

Windows Tools
Suche Programm zum dateien suchen und Ersetzen mit Wildcat Suche
gelöst Frage von sfera-haizaWindows Tools5 Kommentare

Grüßt euch, ich nutze zzT. das Programm InfoRapid Suchen & Ersetzen um HTML / PHP Dateien zu durchsuchen bzw. ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 19 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 21 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Sichere Remote Desktop Verbindung wie?
gelöst Frage von nuss33Windows Server11 Kommentare

Hallo zusammen, eins vorweg: Ich besitze einen privaten Windows Server 2008 R2 zu Hause im Netzwerk er wird nicht ...