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

TXT per batch Auslesen und Zeilen vergleichen sowie wenn nötig ersetzten bzw. löschen

Mitglied: transwarp

transwarp (Level 1) - Jetzt verbinden

06.03.2007, aktualisiert 09.03.2007, 7678 Aufrufe, 8 Kommentare

Hallo Community,

Mein Ziel ist es eine .pbk Datei (DFÜ-Verbindungen) auszulesen und wenn nötig die Datei zu verändern.

Der Aufbau der Datei sieht immer volgendermaßen aus!
Jeder neue Verbindungseintrag (in der .pbk)startet mit einen "[" und endet dann erst wieder mit dem neuen Eintrag ebenfalls start mit "[" oder ende der Datei!

Als beispiel jemand hat eine ältere Datei mit einer Verbindung zu AOL, da diese jetzt ungültig ist müsste Sie durch eine von Arcor ersetzt werden! Aber der T-online Eintrag ist richtig und soll so bleiben!

Wie würdet ihr vorgehen, habe einfach zu wenig erfahrung mit batch dateien!

Vielen Dank für eure Hilfe

Gruß
Mitglied: bastla
06.03.2007 um 22:55 Uhr
Hallo transwarp!

Für das Hinzufügen der neuen Verbindungsdaten könntest Du zunächst einmal die neuen Daten in eine "Neu.txt" schreiben und einfach an die "Aktuell.pbk" anfügen - in Batch etwa so:
01.
if exist Alt.pbk del Alt.pbk
02.
ren Aktuell.pbk Alt.pbk
03.
copy Alt.pbk + Neu.txt Aktuell.pbk
Für das Entfernen der veralteten Einträge wäre es vielleicht sinnvoll, zunächst einmal ein Beispiel für den Inhalt einer .pbk-Datei zu posten.

Grüße
bastla
Bitte warten ..
Mitglied: transwarp
06.03.2007 um 23:07 Uhr
Hey bastla, erstmal vielen Dank für deine Antwort!

Die idee hatte ich auch schon und so ähnlich wie du in die Tat umgestezt allerdings mit einer for schleife! Das hat auch alles geklappt!

Aufbau der .pbk Datei ist immer gleich! (denke ich zumindestens)
Liegt übrigens "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Microsoft\Network\Connections\Pbk" in diesem Verzeichniss

Jede Verbindung beginnt mit

[Verbindungsname]
"verschiedene Werte"
......
......

endet leider erst wieder mit dem neuanfang eines [ bzw. dem Ende der Datei.

Habe leider bis jetzt noch keine Lösung gefunden und wäre über weitere Hilfe dankbar!

Gruß
Bitte warten ..
Mitglied: bastla
06.03.2007 um 23:57 Uhr
Hallo transwarp!

Soferne in der .pbk-Datei (ich habe derzeit leider keine zum Testen bei der Hand) nicht irgendwelche störenden Sonderzeichen enthalten sind, könnte der folgende Batch funktionieren:
01.
@echo off & setlocal
02.
rem Parameter 1 = .pbk-Datei
03.
rem Parameter 2 = Suchstring, zB [AOL]
04.
if not exist "%~1" goto :Verwendung
05.
if (%2) neq () goto :Ausf
06.
:Verwendung
07.
echo Beim Aufruf einen existierenden Dateinamen und den Suchstring angeben!
08.
goto :eof
09.
:Ausf
10.
set "Suche=%~2"
11.
set "AltName=Alt.pbk"
12.
set "Alt=%~dp1%AltName%"
13.
set "Neu=%~1"
14.
if exist "%Alt%" del "%Alt%"
15.
ren "%Neu%" "%AltName%"
16.
set Behalten=ja
17.
for /f "delims=" %%i in ('type "%Alt%"') do call :BearbeiteZeile "%%i"
18.
echo %Suche% wurde entfernt.
19.
goto :eof
20.
:BearbeiteZeile
21.
set "Zeile=%~1"
22.
if %Behalten%==ja goto :Kontrolle
23.
if %Zeile:~0,1% neq [ goto :eof
24.
set Behalten=ja
25.
goto :Schreiben
26.
:Kontrolle
27.
(echo %Zeile%)|find /i "%Suche%">nul || goto :Schreiben
28.
set Behalten=nein
29.
goto :eof
30.
:Schreiben
31.
(echo %Zeile%)>>"%Neu%"
32.
goto :eof
Wenn die Batchdatei nach Anpassung der Pfade für "Alt" und "Neu" zB als "C:\Scripts\EntferneAusPBK.bat" gespeichert wurde, wäre sie wie folgt aufzurufen:
01.
C:\Scripts\EntferneAusPBK.bat "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Microsoft\Network\Connections\Pbk\rasphone.pbk" [AOL]
Dass alle ev enthaltenen Leerzeilen abhanden kommen, müsste zu verkraften sein. Sollte es mit Batch nicht klappen (Sonderzeichen), ließe sich der selbe Ablauf auch als VBScript umsetzen.

Grüße
bastla

[Edit] Parameter angepasst [/Edit]
[Edit2] set "Suche=%2" um ~ ergänzt [/Edit2]
Bitte warten ..
Mitglied: Biber
07.03.2007 um 10:25 Uhr
...oder, da diese *.pbk ja offensichtlich denselben Aufbau hat wie eine beliebige Windows-.ini-Datei, wäre eventuell eine kurze Suchmaschinenbefragung nach "IniTools" (oder ähnlich) hilfreich.

Es gibt diverse Freeware-Hilfsutilities, die Ini-Daten "[Section]"-weise ergänzen, löschen, bearbeiten können.

Ein native batch wäre hier, da stimme ich bastla zu, sicherlich nur die dritt- oder viertschlechteste Alternative.

Gruss
Biber
Bitte warten ..
Mitglied: transwarp
07.03.2007 um 10:34 Uhr
Hi ja klar wäre eine alternative aber denke nicht das dies das Ziel ist, da dieses tool auf vielen Rechnern laufen soll und nicht nur die vorhandenen DFÜ Verbindungen ersetzten soll! Da es unterschiedliche konfigurationen gibt!

Ziel des Batch ist eine zusätzliche Einrichtung einer neuen DFÜ-Verbindung sowie löschen von bestimmten DFÜ-Verbindungen(wenn vorhanden)!

Bin leider Neu auf dem gebiet der Batch und würde mich über hilfe freuen!

LG
Bitte warten ..
Mitglied: transwarp
08.03.2007 um 11:15 Uhr
Hallo Community, vielleicht kann ja jemand nochmal helfen erstmal vielen Dank an Bastla! TOP!

Das Ausführen des Scripts funktioniert aber wenn als beispiel mehrer [AOL] verbindungen vorhanden sind(wir gehen mal von 4 STück aus) überspringt er jedesmal die zwischenliegende!

[AOL MODEM]
werte...
........

[AOL ISDN] <- diese wird jedesmal übersprungen und wird erst bei 2tem ausführen gelöscht.
werte...
..........

[AOL DSL]
werte...
.........

Das Script sucht ja immer nach "["

Wer kann mir helfen es zu optimieren?
Bitte warten ..
Mitglied: bastla
08.03.2007 um 13:48 Uhr
Hallo transwarp!

Vielleicht nicht ganz elegant, aber hoffentlich doch effektiv:
01.
copy /y "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Microsoft\Network\Connections\Pbk\rasphone.pbk" "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Microsoft\Network\Connections\Pbk\Sicherung.pbk" > nul
02.
for %%s in ("[AOL MODEM]" "[AOL ISDN]" "[AOL DSL]") do C:\Scripts\EntferneAusPBK.bat "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Microsoft\Network\Connections\Pbk\rasphone.pbk" "%%~s"
Damit wird zwar die .pbk-Datei für jeden einzelnen "[AOL ...]"-Eintrag (Anführungszeichen bitte nicht vergessen) einmal durchgeackert, aber damit solltest Du alle Einträge mit einem einzelnen Aufruf los werden ...

Falls die "Sicherung.pbk" nicht benötigt wird (auf "Alt.pbk" kann man sich jetzt nicht mehr verlassen, da diese bei jedem Durchlauf mit dem Ergebnis des vorigen Durchlaufs überschrieben wird), einfach die erste Zeile weglassen.

Die zweite Zeile ist für eine Verwendung in einer Batchdatei geschrieben - von der Commandline wäre jedes %% durch ein einfaches % zu ersetzen.

Vor dem Testen solltest Du noch in der Batchdatei ("EntferneAusPBK.bat") eine Zeile ändern, indem Du sie mit ~ ergänzt (hätte auch in der ursprünglichen Fassung schon hingehört - ich trage es auch oben nach):
01.
set "Suche=%<b>~</b>2"
Grüße
bastla
Bitte warten ..
Mitglied: transwarp
09.03.2007 um 11:49 Uhr
Hallo ihr,

Tool funktioniert jetzt ganz gut und läuft auch durch!

Nun zu meiner Frage ich habe jetzt das Problem, dass wenn ich die Daten ersetzt bzw. getauscht habe, und später die erweiterten Eigenschaften aufrufen will der Explorer.exe abstürzt! (Rechtsklick auf DFÜ-Verbindung ->Eigenschaften -> Netzwerkverbindung auswählen -> Rechstklick -> Erweitert) normalerweise sind dort die Infos für Firewalleinstellungen etc. drinn! Kann es sein das ich noch irgendwelche REG einträge brauche die ich nicht besitzte!? Habe schon geguckt er erstellt leider nichts neues beim Anlegen einer neuen Verbindung in der REG zumindestens habe ich nichts gefunden! Daten in der RASPHONE.pbk passen auch und sind identisch!

Folgende Fehlermeldung gibt er aus:
AppName: explorer.exe AppVer: 6.0.2900.2180 ModName: hnetcfg.dll
ModVer: 5.1.2600.2180 Offset: 00018251
Der Problembericht ist Kilometer lang


Habe mir mal die hnetcfg angeguckt, Sie ist für den HOME Network Config Manager zuständig(deswegen auch der Name) Habe die neues von Microsoft veröffentlichte Version!

Mein System

MS Win XP Pro
SP2 V. 2002



Gruß
Transwarp
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell vergleich von .txt
gelöst Frage von HanutaBatch & Shell4 Kommentare

Hallo Zusammen, Ich möchte eine Liste txt.A mit txt.B vergleichen. Liste A sieht folgendermaßen aus: "Rechnername" Liste B: "MAC" ...

Batch & Shell
Batch vergleich von zwei dateien
gelöst Frage von realdavegerBatch & Shell6 Kommentare

Hallo, nach Jahrelangem zugucken, habe ich jetzt schlussendlich eine Frage welche ich selbst stelle. Ich versuche 2 zeiten aus ...

Batch & Shell
Batch vergleich Dateien if else
Frage von zeroblue2005Batch & Shell2 Kommentare

Hallo Zusammen, suche eine einfache Lösung um zwei Dateien miteinander zu vergleichen. Hintergrund ist der, dass ich eine Update ...

Batch & Shell
Batch - .csv to .txt
gelöst Frage von freshman2017Batch & Shell11 Kommentare

Hallo Ihr, ich habe da nochmal eine leichte kurze Frage, vielleicht hat da jemand ein Code für mich. Folgende ...

Neue Wissensbeiträge
Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 1 StundeInternet1 Kommentar

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zu gleich. Da werden aus Gerüchten plötzlich Fakten, ...

Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgborn vor 5 StundenWindows 101 Kommentar

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 23 StundenWindows 102 Kommentare

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 1 TagSicherheit6 Kommentare

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Heiß diskutierte Inhalte
Windows Server
Uhren gehen immer wieder falsch
Frage von killtecWindows Server23 Kommentare

Hallo, ich habe folgende Konstellation: 1. Physischer DC Div. Virtuelle DC's auf Hyper-V Servern Die Hyper-V-Server, der Physische DC ...

Switche und Hubs
Medienkonverter mit 12 oder 24 Ports gesucht
Frage von wmuellerSwitche und Hubs23 Kommentare

Guten Morgen, ich bin auf der Suche nach einem größeren Medienkonverter, der "stumpf" 1:1 die Ports auf über ein ...

Debian
OpenSSH Login mit Public Key schlägt fehl, mit Passwort funktioniert
gelöst Frage von DKowalkeDebian19 Kommentare

Hallo zusammen, ich hatte hier schon nach einer Anleitung für einen SFTP Server mit Linux gefragt, habe dort auch ...

Windows Server
Client in die Domäne einbinden - Allgemeine Frage dazu
gelöst Frage von RalphTWindows Server19 Kommentare

Moin, ich habe 2 DCs in einer Hauptstelle und 2 DCs in einer Nebenstelle. Ich bringe in der Hauptstelle ...