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

Frage Entwicklung VB for Applications

Zeile aus Ini Datei löschen

Mitglied: OliverBecht

OliverBecht (Level 1) - Jetzt verbinden

25.01.2008, aktualisiert 14:41 Uhr, 6321 Aufrufe, 8 Kommentare

Hallo ich habe eine Ini Datei aus der sollte einfach eine bestimmte Zeile bzw. Wörter gelöscht werden und nachher wieder die neue Zeile bzw. die Zeichenfolge eingefügt werden.
Geändert werden muss der Eintrag LastUser=Test


Hier ist meine INI


------------------------------------------------------------------
Login Settings
// ------------------------------------------------------------------
[Login Settings]
ShowLogin=true
LastUser=Test
LastDatabase=TestDB

Ich habe auch schon ein VB Skript mit dem ich den Eintrag schreibe, jedoch kommt hier der Eintrag immer am Schluß


'Einträge für CEG in ini schreiben
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso
Dim g
Dim f
Dim benutzername
Dim fs, net, objectDomain, wshshell, objectUser

'Zugriff auf Objecte
Set fs = CreateObject("Scripting.FileSystemObject")
Set net = CreateObject("WScript.Network")
Set wshshell = CreateObject("Wscript.Shell")

'Username ermitteln
benutzername = net.username

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("C:\test.ini", ForAppending, True)
f.writeline "[Login Settings]"
f.writeline "LastUser=" & Benutzername

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("C:\test.ini", 1, True)


Tausend Dank für eure Hilfe
Mitglied: bastla
25.01.2008 um 11:53 Uhr
Hallo OliverBecht!

Wenn es nur darum geht, immer "LastUser=Test" durch "LastUser=Benutzername" zu ersetzen, dann etwa so:
01.
Const IniFile = "C:\test.ini" 
02.
 
03.
Const ForReading = 1, ForWriting = 2, ForAppending = 8  
04.
Set fso = CreateObject("Scripting.FileSystemObject") 
05.
Set net = CreateObject("WScript.Network") 
06.
 
07.
Set f = fso.OpenTextFile(IniFile, ForReading) 
08.
Inhalt = f.ReadAll 
09.
 
10.
Set f = fso.OpenTextFile(IniFile, ForWriting, True) 
11.
f.Write Replace(Inhalt, "LastUser=Test", "LastUser=" & net.username) 
12.
f.Close
Grüße
bastla
Bitte warten ..
Mitglied: OliverBecht
25.01.2008 um 12:48 Uhr
Schon mal vielen Dank für deine Antwort.
Ich muss nur den Wert hinter LastUser= auf den angemeldeten Benutzernamen bringen und nicht austauschen
Währe echt nett wenn Du mir hier nochmals helfen könntest.
Bitte warten ..
Mitglied: bastla
25.01.2008 um 12:59 Uhr
Hallo OliverBecht!

Ich muss nur den Wert hinter LastUser= auf den angemeldeten Benutzernamen bringen und nicht austauschen
Eigentlich wäre das Ziel meines "Austausch"-Vorschlages, dass dort (und zwar an der selben Position innerhalb der Datei wie vorher), wo zunächst
01.
LastUser=Test
stand, nachher
01.
LastUser=Benutzername (des angemeldeten Benutzers)
zu finden ist (womit eigentlich für mich Dein Ziel erreicht scheint) ...

Was hat denn Dein Test ergeben?

Grüße
bastla
Bitte warten ..
Mitglied: rubberduck
25.01.2008 um 13:23 Uhr
Ist der Wert hinter LastUser= variabel, oder ist er immer gleich?
Wenn immer gleich, kann ich mich nur Bastla anschliessen.

Die Goldlösung wäre folgende:
Du schreibst den Inhalt der Datei in ein Array suchst Deinen Wert, ersetzt es und schreibst es am Schluss zurück

Hört sich vielleicht etwas kompliziert an, aber wenn Du variable Werte hast ist es 1a.
Bitte warten ..
Mitglied: OliverBecht
25.01.2008 um 13:34 Uhr
Nein der Wert hinter LastUser= ist immer variabel und nicht gleich.
Schon mal danke
Bitte warten ..
Mitglied: stbewo
25.01.2008 um 13:41 Uhr
Oder Du
trennst Dein INI File in Part1.ini

Part1.ini ---------------
Login Settings
[Login Settings]
ShowLogin=true
und
Part2.ini ---------------
LastDatabase=TestDB
und mit

type part1.ini > login.ini
echo LastUser=%username% >> login.ini
type part2.ini >> login.ini

hast Du ein geändertes INI File.

Gruß
Stefan
Bitte warten ..
Mitglied: rubberduck
25.01.2008 um 14:32 Uhr
Versuchs mal so:

01.
... 
02.
.. 
03.
04.
Set f = fso.OpenTextFile("C:\test.ini", 1, True) 
05.
arrFile = Split(f.ReadAll, vbCrLf) 
06.
f.Close 
07.
 
08.
For i = 0 To UBound(arrFile) 
09.
    If InStr(arrFile(i), "LastUser") <> 0 Then arrFile(i) = "LastUser=" & net.UserName 
10.
Next 
11.
 
12.
Set f = fso.OpenTextFile("C:\test.ini", 2, True) 
13.
f.Write (Join(arrFile, vbCrLf)) 
14.
f.Close
Bitte warten ..
Mitglied: OliverBecht
25.01.2008 um 14:41 Uhr
Tausend Dank jetzt hat es geklappt.....
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Doppelte Zeilen in Text-Datei löschen
gelöst Frage von reckheimBatch & Shell15 Kommentare

Hallo ich schreibe lange Übersetzungsprogramme in FoxPro in unten folgender Text-Datei-Form. Die Datei ist allerdings durch Zusammenführung verschiedener Versionen ...

Perl
Mit Perl aus einer Datei teilidentische Zeilen löschen
gelöst Frage von JedujaPerl5 Kommentare

Ausgangsbasis Dateizeilen: 2016-05-23 00:00 2 Ende 2016-05-23 00:00 2 Start 2016-05-23 06:46 1 Ende 2016-05-23 06:48 1 Start 2016-05-23 ...

Windows Server
Terminalserver .ini Datei unter C:Windows
gelöst Frage von geocastWindows Server8 Kommentare

Guten Abend zusammen Ich habe mir hier einen Server 2012R2 Terminalserver zum Testen aufgesetzt. Ich habe dann unsere alte ...

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 ...

Neue Wissensbeiträge
Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 3 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit13 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen10 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk9 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Netzwerk
Zugriff auf den Desktop Ordner eines anderen Rechners in der gleichen Domäne
gelöst Frage von JensNomaWindows Netzwerk6 Kommentare

Guten Abend, ich war neulich mit unserem Admin am Tisch gesessen. Er an seinem Notebook angemeldet mit dem Domänen-Admin, ...