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
Kommentar vom Moderator Biber am 05.04.2010 um 21:55:21 Uhr
Zwei klar vor- und ausgezeichnete Lösungsansätze - Beitrag auf "Beantwortet" gesetzt.

gelöst Inhalt einer txt auslesen und bei übereinstimmung Zeilen aus andered Datei einfügen

Mitglied: connecthor

connecthor (Level 1) - Jetzt verbinden

02.04.2010, aktualisiert 05.04.2010, 4179 Aufrufe, 11 Kommentare

Hallo @all

ich hätte da ein kleines Problemchen--->

also ich hab da eine Datei in der ein Wert (z.b. [profil=0]) steht. Danach stehen noch ein paar andere Werte. Ich möchte danach noch weitere einträge einfügen. Das klappt schon.
Nun das echte Problem. Ich habe 2 unterschiedliche Einträge zu machen, je nach dem in welcher reihenfolge der user sich die Dateien installiert.

Hauptdatei <<<

[profil=0]
zeile1
zeile2
zeile3


dann soll sich der user ein programm installieren und in der Hauptdatei soll ein wert eingtragen werden wie folgt:

[profil=1]
zeile1
zeile2
zeile3

dann gibt es weitere programme die installiert werden können. Leider muss der Wert [profil] IMMER im Format
[profil=0]
...
[profil=1]
...
[profil=2]
...

vorliegen.

Was muss ich machen, um den schon installierten passus " [profil=*] auszulesen und bei weiteren installationen im richtigen format in der Datei zu hinterlegen??

Vielen Dank für eure Hilfe
Mitglied: bastla
02.04.2010 um 20:34 Uhr
Hallo connecthor!

Ließe sich Deine Problemstellung auf "Finde die niedrigste noch nicht in '[profil=Zahl]' enthaltene Zahl!" reduzieren?

In diesem Fall etwa so:
01.
@echo off & setlocal 
02.
set "Datei=D:\Die.ini" 
03.
set /a Nr=0 
04.
 
05.
:Loop 
06.
findstr /i /l "[profil=%Nr%]" "%Datei%">nul || goto :Found 
07.
set /a Nr+=1 
08.
goto :Loop 
09.
 
10.
:Found 
11.
set "Wert=[profil=%Nr%]" 
12.
echo %Wert%
Grüße
bastla
Bitte warten ..
Mitglied: LotPings
04.04.2010 um 19:16 Uhr
Hallo Bastla,

mit nur einem findstr und Vergleich der Nr dürfte das doch effizienter sein.
(auch wenn das in diesem Fall egal ist)

01.
@echo off & setlocal EnableDelayedExpansion 
02.
set "Datei=c:\Test\2010-04\Die.ini" 
03.
Set Nr=0 
04.
For /f "tokens=2 delims=[=]" %%A in ( 
05.
  'findstr /i /l "[profil=" "%Datei%"' 
06.
    ) Do If %%A GTR !Nr! Set Nr=%%A 
07.
set /a Nr+=1 
08.
set "Wert=[profil=%Nr%]" 
09.
echo %Wert%
Gruß
LotPings

Edit: Anregung von Bastla eingearbeitet
Bitte warten ..
Mitglied: bastla
04.04.2010 um 20:15 Uhr
Hallo LotPings!

Gute Idee , handwerklich fehlt allerdings "delayedExpansion" - es wird dadurch in der aktuellen Fassung immer "GTR 0" verglichen, was auch gut geht, wenn die Nummern innerhalb der ".ini"-Datei brav aufsteigend verwendet wurden; dann allerdings wäre der Vergleich überhaupt unnötig, und es müsste einfach die letzte vorkommende Nummer um 1 erhöht werden.

Eine Abwandlung davon - nämlich tatsächlich die ".ini" vorweg zu sortieren - würde aber daran scheitern, dass die Nummern keine feste Stellenanzahl haben.

Grüße
bastla
Bitte warten ..
Mitglied: LotPings
05.04.2010 um 17:46 Uhr
Zitat von bastla:
Gute Idee , handwerklich fehlt allerdings "delayedExpansion"

Du hast ja sowas von Recht
Danke, habe es schon geändert

Ostergrüße
LotPings
Bitte warten ..
Mitglied: connecthor
08.04.2010 um 18:50 Uhr
Ja, so hab ich mir das gedacht. Profile=0 ist standard. hinzu sollen dann immer profile=1 usw. egal in welcher reichenfolge die programme installiert werden. ich werds mal gleich testen... danke schon mal im vorraus
Bitte warten ..
Mitglied: connecthor
13.04.2010 um 10:58 Uhr
ich habs jetzt... BASTLA hatte die beste (einzige lösung)
LotPings lösung war noch nicht ganz vollständig... es wurde das [profil=x] nicht um eins erhöht.

mein script sieht jetzt so aus:
set "User=%USERPROFILE%"
set "Datei=%USER%\anwendungsdaten\info.ini"
findstr /l "umb-storno" "%Datei%" && goto copy

set /a Nr=0
:Loop
findstr /i /l "[profile%Nr%]" "%Datei%">nul || goto :Found
set /a Nr+=1
goto :Loop

:Found
set "Wert=[profile%Nr%]"
echo. >> "%Datei%"
echo %Wert% >> "%Datei%"
more "d:\dazu.txt" >> "%Datei%"

:copy
...

vieken dank für eure hilfe jungs!!!!
Bitte warten ..
Mitglied: LotPings
13.04.2010 um 11:49 Uhr
Zitat von connecthor:
ich habs jetzt... BASTLA hatte die beste (einzige lösung)
LotPings lösung war noch nicht ganz vollständig... es wurde das [profil=x] nicht um eins erhöht.

Protest,
entsprechend deinen Vorgaben funktioniert das hier.
Hast du den letzten Stand berücksichtigt?
Zeile 7 erhöht die höchste gefundene Profil Nr um eins.

Damit meine Variante auch bei leerer Datei funktioniert, könnte man noch Zeile 3 ändern in:
Set Nr=-1
Gruß
LotPings
Bitte warten ..
Mitglied: connecthor
15.04.2010 um 10:25 Uhr
hab dein script probiert...
leider hat er immer nur [profile=1] eingefügt... keine ahnung warum.
hast du das mal getestet???
Bitte warten ..
Mitglied: LotPings
15.04.2010 um 12:11 Uhr
Ja, ich habs nochmal getestet.
Einzige Änderung in Zeile 3 auf -1, (Der alte Beitrag lässt sich mehr editieren).

Ich vermute mal einen Übertragungsfehler - bitte "in den Speicher kopieren" oder Quelltext ansehen+kopieren.
Computer sind ja so schrecklich konsequent - tun genau das und nur das, was ihnen vorgegeben wird.

Gruß
LotPings
Bitte warten ..
Mitglied: connecthor
16.04.2010 um 09:29 Uhr
dann mach ich irgendwas falsch..
das [profil=0] ist standard.
bei dir wird doch nur soweit ich sehe der erste gefundene wert genommen und +1 gesetzt.
da ist dann egal welche werte da noch stehen... oder?!?!?!
Bitte warten ..
Mitglied: LotPings
16.04.2010 um 09:50 Uhr
Moin moin,

nein Zeile 4-6 ist eine Schleife die alle gefundenen "[profil="-Zeilem mit dem vorherigen Maximalwert vergleicht und ihn ggfs ersetzt.
Man kann diese 3 Zeilen auch ohne Änderung der Funktion hinereinander in eine Zeile schreiben, ich finde es so halt übersichtlicher.

Gruß
LotPings
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Zeile mit Sonderzeichen in txt einfügen

gelöst Frage von FaysaxBatch & Shell1 Kommentar

Hallo miteinander, ich habe folgendes Problem: Ich habe eine xml Datei in eine txt umgewandelt. Nun möchte ich am ...

Basic

AutoIt - Array auslesen und den Inhalt der Dateien in Worddatei einfügen

gelöst Frage von hipfzwirgelBasic4 Kommentare

Hallo an alle AutoIt-Spezialisten, ich erstelle gerade ein Script(genauer eine Funktion :-) ), dass Bilder in eine Worddatei einfügen ...

PHP

TXT Datei auslesen und bestimmte Zeilen in Variable setzen

gelöst Frage von 126594PHP11 Kommentare

Hallo zusammen, vorweg muss ich sagen, ich bin (bis jetzt) absoluter Neuling was PHP angeht. Ich will aus einer ...

Batch & Shell

Einzelne Zeilen in txt Datei speichern und auslesen

gelöst Frage von noah1400Batch & Shell7 Kommentare

Liebe Forum-Mitglieder Ich habe da so eine Frage: Ich bin gerade dabei ein PW abfrage mit Batch zu machen. ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 15 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 18 StundenAdministrator.de Feedback14 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...