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

Textblöcke in ini-Datei ersetzen oder einfügen

Frage Entwicklung Batch & Shell

Mitglied: Haegar75

Haegar75 (Level 1) - Jetzt verbinden

12.05.2009, aktualisiert 21:10 Uhr, 7205 Aufrufe, 18 Kommentare

Hi,
ich möchte in einer Ultraedit InI-Datei ganze Textblöcke ca. 70 Zeilen per Batch ersetzen. Mit VBScript kriege ich es hin einzelne Zeilen ersetzen aber das gibt dann ellenlangen Code... Es müsste doch auch irgendwie gehen eine Textdatei mit den zu ändernden Zeilen in die bestehende INI-Datei zu schreiben.. Weiß jemand Rat?
Hier ein typischer Block der geändert werden soll..

[Tools]
Tool Cmd0=""
Tool Dir0=""
Tool Menu0=""
Bitmap Path0=""
Show DOS Window0=0
Capture0=0
Capture Mode0=0
WinProg0=0
SaveAllFiles0=0
Save Active File0=1
Replace Type0=0
Tool Cmd1=""
Tool Dir1=""
Tool Menu1=""
.
.

in

[Tools]
Tool Cmd0="Pfad xyz"
Tool Dir0="Pfad xyz"
Tool Menu0="Pfad xyz"
Bitmap Path0="Pfad xyz"
Show DOS Window0=1
Capture0=1
Capture Mode0=1
WinProg0=0
SaveAllFiles0=0
Save Active File0=1
Replace Type0=0
Tool Cmd1="Pfad xyz"
Tool Dir1="Pfad xyz"
Tool Menu1="Pfad xyz"

Gruß Haegar
Mitglied: LotPings
12.05.2009 um 22:11 Uhr
Hallo Haegar.

Für den Zweck gibts es doch Buchstäblich Dutzende von Cmdline Tools.
Ein renommiertes ist Horst Schaeffers IniFile
Du kannst damit eine Section komplett löschen und per Batch Schleife aus einer Datei zufügen.

Gruß
LotPings
Bitte warten ..
Mitglied: bastla
12.05.2009 um 22:18 Uhr
Hallo Haegar75!

Versuch es mal mit dem folgenden Script:
01.
Ini = "D:\Ultraedit.ini" 
02.
Repl = "D:\Replace.txt" 
03.
Delim = "=" 
04.
 
05.
Set fso = CreateObject("Scripting.FileSystemObject") 
06.
T = fso.OpenTextFile(Ini).ReadAll 
07.
R = Split(fso.OpenTextFile(Repl).ReadAll, vbCrLF) 
08.
 
09.
Set rE = New RegExp 
10.
rE.IgnoreCase = True 
11.
 
12.
For i = 0 To UBound(R) 
13.
	If Len(R(i)) > 1 Then 
14.
        If Left(R(i), 1) = "[" And Right(R(i), 1) = "]" Then 
15.
            S = R(i) 
16.
        Else 
17.
            K = Split(R(i), Delim)(0) 
18.
            rE.Pattern = "\r\n" & K & Delim & ".*\r\n" 
19.
            If rE.Test(T) Then 
20.
                T = rE.Replace(T, vbCrLF & R(i) & vbCrLF) 
21.
            Else 
22.
                rE.Pattern = "\" & Replace(S, "]", "\]") & ".*\r\n" 
23.
                If rE.Test(T) Then T = rE.Replace(T, S & vbCrLF & R(i) & vbCrLF) 
24.
            End If 
25.
        End If 
26.
    End If 
27.
Next 
28.
 
29.
fso.CreateTextFile(Ini, True).Write T
Das Script sollte (ist nur oberflächlich getestet) die "Replace.txt" (zB
[Tools] 
Tool Cmd0="Pfad xyz" 
Tool Dir0="Pfad xyz" 
Tool Menu0="Pfad xyz" 
Bitmap Path0="Pfad xyz" 
Show DOS Window0=1 
Capture0=1 
Capture Mode0=1 
WinProg0=0 
SaveAllFiles0=0 
Save Active File0=1 
Replace Type0=0 
Tool Cmd1="Pfad xyz" 
Tool Dir1="Pfad xyz" 
Tool Menu1="Pfad xyz"
auslesen und in der ini-Datei jeweils die erste Zeile, in welcher (ohne Berücksichtigung von Groß-/Kleinschreibung) der Teil vor dem ersten "=" (siehe Variable "Delim") mit jenem der Ersatzzeile übereinstimmt, ersetzen.

Wenn keine passende Zeile gefunden wird, soll die Ersatzzeile als erste Zeile der "Section" (im Beispiel daher gleich nach "[Test]") eingefügt werden.

Grüße
bastla
Bitte warten ..
Mitglied: Haegar75
13.05.2009 um 10:07 Uhr
Also, ich habs mal so eingebaut wie man es mir mal gezeigt hat, aber irgendwas mache ich falsch. Die Scriptbefehle kennt er nicht..

01.
Set Ini = "D:\uedit32.INI" 
02.
Set Repl = "D:\Replace.txt" 
03.
Set Delim = "=" 
04.
set Y=%temp%\ReplaceInIni.vbs 
05.
>%Y% echo Set fso = CreateObject("Scripting.FileSystemObject") 
06.
>>%Y% echo Set T = fso.OpenTextFile(Ini).ReadAll 
07.
>>%Y% echo Set R = Split(fso.OpenTextFile(Repl).ReadAll, vbCrLF) 
08.
 
09.
>>%Y% echo Set rE = New RegExp 
10.
>>%Y% echo Set rE.IgnoreCase = True 
11.
 
12.
>>%Y% echo  For i = 0 To UBound(R) 
13.
>>%Y% echo 	If Len(R(i)) > 1 Then 
14.
>>%Y% echo         If Left(R(i), 1) = "[" And Right(R(i), 1) = "]" Then 
15.
>>%Y% echo             S = R(i) 
16.
>>%Y% echo         Else 
17.
>>%Y% echo             K = Split(R(i), Delim)(0) 
18.
>>%Y% echo             rE.Pattern = "\r\n" & K & Delim & ".*\r\n" 
19.
>>%Y% echo             If rE.Test(T) Then 
20.
>>%Y% echo                 T = rE.Replace(T, vbCrLF & R(i) & vbCrLF) 
21.
>>%Y% echo             Else 
22.
>>%Y% echo                 rE.Pattern = "\" & Replace(S, "]", "\]") & ".*\r\n" 
23.
>>%Y% echo                 If rE.Test(T) Then T = rE.Replace(T, S & vbCrLF & R(i) & vbCrLF) 
24.
>>%Y% echo             End If 
25.
>>%Y% echo         End If 
26.
>>%Y% echo     End If 
27.
>>%Y% echo Next 
28.
 
29.
>>%Y% echo fso.CreateTextFile(Ini, True).Write T
Bitte warten ..
Mitglied: LotPings
13.05.2009 um 10:15 Uhr
Moin Haegar,

ich spring mal für bastla ein,

warum kopierst du den Quelltext aus bastla's script nicht einfach in eine Datei mit der endung vbs und führst diese dann direkt aus?

Dein Versuch scheitert weil du die Zeilen 1 bis 3 nicht auch in die vbs Datei schreibst. (und dann ohne das set davor)

Gruß
LotPings
Bitte warten ..
Mitglied: Haegar75
13.05.2009 um 15:01 Uhr
So, habs jetzt wie in bastlas Beitrag in der vbs Datei stehen (gepiped) wenn ich es dann aus führe, meldet die Konsole:

C:\DOKUME~1\jkm\LOKALE~1\Temp\ReplaceInIni.vbs(16, 42) Kompilierungsfehler in Microsoft VBScript: ')' erwartet

Habe die Klammerausdrücke kontrolliert, kann aber auf Anhieb keine unplausibitäten erkennen..
Bitte warten ..
Mitglied: bastla
13.05.2009 um 15:19 Uhr
Hallo Haegar75!

Poste bitte Deinen Stand (der von meiner Version abweicht, da die Zeile 16 dort nur aus einem "Else" besteht) des Scripts - oder versuch es vielleicht doch mit einem Klick auf "Quelltext" und einem einfachen Kopieren meines Codes ...

Grüße
bastla
Bitte warten ..
Mitglied: Haegar75
13.05.2009 um 15:46 Uhr
Also, der Fehler liegt definitiv bei mir. Bastlas Code direkt in die VBS-Datei kopiert, funktioniert einwandfrei.

Bei der Generierung der VBS-Datei in der Batch scheint was schief zu laufen. Die Zeile mit dem ersten IF wird gar nicht in die Datei geschrieben und die Zeilen die ein & enthalten sind ab dem & abgeschnitten..
Mein Code ist jetzt:

01.
set Y=%temp%\ReplaceInIni.vbs 
02.
> %Y% echo Ini = "D:\uedit32.INI" 
03.
>>%Y% echo Repl = "D:\Replace.txt" 
04.
>>%Y% echo Delim = "=" 
05.
 
06.
>>%Y% echo set fso = CreateObject("Scripting.FileSystemObject") 
07.
>>%Y% echo T = fso.OpenTextFile(Ini).ReadAll 
08.
>>%Y% echo R = Split(fso.OpenTextFile(Repl).ReadAll, vbCrLF) 
09.
 
10.
>>%Y% echo set rE = New RegExp 
11.
>>%Y% echo rE.IgnoreCase = True 
12.
 
13.
>>%Y% echo  For i = 0 To UBound(R) 
14.
>>%Y% echo 	If Len(R(i)) > 1 Then 
15.
>>%Y% echo         If Left(R(i), 1) = "[" And Right(R(i), 1) = "]" Then 
16.
>>%Y% echo             S = R(i) 
17.
>>%Y% echo         Else 
18.
>>%Y% echo             K = Split(R(i), Delim)(0) 
19.
>>%Y% echo             rE.Pattern = "\r\n" & K & Delim & ".*\r\n" 
20.
>>%Y% echo             If rE.Test(T) Then 
21.
>>%Y% echo                 T = rE.Replace(T, vbCrLF & R(i) & vbCrLF) 
22.
>>%Y% echo             Else 
23.
>>%Y% echo                 rE.Pattern = "\" & Replace(S, "]", "\]") & ".*\r\n" 
24.
>>%Y% echo                 If rE.Test(T) Then T = rE.Replace(T, S & vbCrLF & R(i) & vbCrLF) 
25.
>>%Y% echo             End If 
26.
>>%Y% echo         End If 
27.
>>%Y% echo     End If 
28.
>>%Y% echo Next 
29.
 
30.
>>%Y% echo fso.CreateTextFile(Ini, True).Write T 
31.
 
32.
cscript //nologo %Y%
Und das kommt dann als VBS-Datei raus..

Ini = "D:\uedit32.INI"
Repl = "D:\Replace.txt"
Delim = "="
set fso = CreateObject("Scripting.FileSystemObject")
T = fso.OpenTextFile(Ini).ReadAll
R = Split(fso.OpenTextFile(Repl).ReadAll, vbCrLF)
set rE = New RegExp
rE.IgnoreCase = True
For i = 0 To UBound(R)
If Left(R(i), 1) = "[" And Right(R(i), 1) = "]" Then
S = R(i)
Else
K = Split(R(i), Delim)(0)
rE.Pattern = "\r\n"
If rE.Test(T) Then
T = rE.Replace(T, vbCrLF
Else
rE.Pattern = "\"
If rE.Test(T) Then T = rE.Replace(T, S
End If
End If
End If
Next
fso.CreateTextFile(Ini, True).Write T

Edit:

Habs gefunden. Man muss die > und & mit ^ schützen. Ich Dämel...
Bitte warten ..
Mitglied: LotPings
13.05.2009 um 15:57 Uhr
Hallo Haegar,

ich verstehe zwar nicht warum du das Vb-Script unbedingt aus einer Batch heraus generieren willst,
aber sei's drum.

Das & hat in der Batch die Bedeutung einer Befehlsverkettung, d. h. es können so mehrere Befehle in einer Zeile stehen.

Damit die Cmd Shell dieses Zeichen nicht selbst interpretiert muss du es "Escapen" mit einem ^
also im Batch Code ^&

Gruß
LotPings
Bitte warten ..
Mitglied: Haegar75
13.05.2009 um 21:03 Uhr
Zitat von LotPings:
ich verstehe zwar nicht warum du das Vb-Script unbedingt aus einer
Batch heraus generieren willst,
aber sei's drum.

Das hat mir mal ein kompetenter Moderator so vorgeschlagen, bei ner anderen Sache..

Das Problem was ich in dieser Sache noch hab ist , dass die INI-Section {Tools] in der ich die Änderungen machen möchte, nicht immer existiert und dann anlegen müsste...
An dieser Stelle kann ich bastlas Code nicht nachvollziehen, wie das funktionieren soll. Vielleicht ein paar warme Worte dazu, damit ich was lerne?
Gruß Haegar
Bitte warten ..
Mitglied: Biber
13.05.2009 um 21:40 Uhr
Moin Haegar75, bastla und LotPings,

<OT>
@Haegar75
An dieser Stelle kann ich bastlas Code nicht nachvollziehen, wie das funktionieren soll.
Vielleicht ein paar warme Worte dazu, damit ich was lerne?

Von mir ein "Ja, aber..."

Ja, aber das "VBS-Lernen am überschaubaren Praxisbeispiel" möge auch der einzige Grund bleiben, warum die Lösung über drei Ecken weitergeführt werden sollte.
Ja, es hat für Dich und viele MitleserInnen spürbare Lerneffekte (".... ahh, Sonderzeichen im Batch muss ich vor dem Pipen maskieren...)
Das finde ich gut.
Ohne jede Ironie.

Aber, wie LotPings auch mehrfach vergeblich in diesem Thread betont hat: für so etwas gibt zwar abzählbar wenige, aber uns bekannte und immer gern empfohlene One-Trick-Utilities wie Horst Schaffers IniFile

Lässt sich nicht toppen, nicht selber besser machen und vor allem: Hey, es ist doch schon erfunden!

Wir müssen doch nicht immer wiederkehrende [Windows-]Probleme jedes Mal anders lösen.

Meine Bitte: Teste den Link wenigstens mal an...

Und natürlich sollen und werden weiterhin Verständnisfragen gestellt und beantwortet und auch Code-Schnipsel hier gebastelt werden.

Aber nicht die, die schon 5000mal erfunden wurden.
</OT>

Grüße
Biber

[Edit] @bastla
Ich weiß, dass du ja nur spielst, und -falls ich es noch nirgends geschrieben haben sollte - du spielst auch in der Oberliga.
Aber man/frau/moderator muss doch dann auch mal darauf hinweisen, dass sich zwar ein Frühstücksei mit einem Gabelstabler köpfen lässt, aber es möglicherweise auch einfacher ginge.
[/Edit]
Bitte warten ..
Mitglied: bastla
13.05.2009 um 21:41 Uhr
Hallo Haegar75!
dass die INI-Section {Tools] in der ich die Änderungen machen möchte, nicht immer existiert und dann anlegen müsste...
... ist noch gar nicht berücksichtigt - bisher wird nur die aktuelle Section in der Variablen "S" zwischengespeichert, damit es einen definierten Ort für das Einfügen zusätzlicher Zeilen gibt (es wird dann einfach der Teil "Section + darauf folgende Zeilenschaltung" durch "Section + Zeilenschaltung + neue Zeile + Zeilenschaltung" ersetzt.

Unter der Annahme, dass eine noch nicht vorhandene Section (abgetrennt durch eine Leerzeile) an das Ende der Datei gestellt werden könnte, wäre die Erweiterung des Scripts nicht so dramatisch - es müsste zwischen Zeile 15 und 16 eingefügt werden:
01.
rE.Pattern = "\" & Replace(S, "]", "\]") & ".*\r\n" 
02.
If Not rE.Test(T) Then T = T & vbCrLF & S & vbCrLF
In weiterer Folge dürften alle zur neuen Section gehörigen Zeilen ja ebenfalls noch nicht in der Datei vorkommen, sodass diese dann jeweils als neue letzte Zeile (allerdings dadurch mit dem Schönheitsfehler einer "auf den Kopf gestellten" Reihenfolge) angefügt werden müssten.

Grüße
bastla

[Edit] @Biber: Ich spiel ja nur, drum auch so eher hanebüchene Ansätze ... [/Edit]

[Edit2]
Aber man/frau/moderator muss doch dann auch mal darauf hinweisen ...
... weshalb ich Dich auch um den Job nicht beneide ...

Danke jedenfalls für die Beförderung in die "Oberliga" - eine derartige Einschätzung von Dir bedeutet (mir) schon Einiges ...
[/Edit2]
Bitte warten ..
Mitglied: LotPings
13.05.2009 um 21:47 Uhr
Zitat von Haegar75:
Das Problem was ich in dieser Sache noch hab ist , dass die INI-Section {Tools] in der ich die Änderungen machen möchte, nicht immer existiert und dann anlegen müsste...
An dieser Stelle kann ich bastlas Code nicht nachvollziehen, wie das funktionieren soll. Vielleicht ein paar warme Worte dazu, damit ich was lerne?

Ich habe noch nicht versucht den Code zu verstehen, am Besten fragst du ihn mal selber

Gruß
LotPings
Bitte warten ..
Mitglied: BusterBlues1
31.05.2009 um 13:30 Uhr
Hallo zusammen,

ich habe diesen Beitrag und auch andere gelesen und habe eine ähnliche Problemstellung. Allerdings sind mir alle hier gemachten Ausführungen entweder zu kompliziert bzw. für mich als absoluten Anfänger zu unverständlich.

Mein Problem ist einfach folgendes:

Ich möchte in einer ini Datei nach dem Abschnitt [Textedi] suchen und den darunter enthaltenen Text editieren. Dabei dürfte es sich um 5-6 Zeilen handeln. Es ist jedoch nicht festgelegt, wo dieser Abschnitt in der ini zu finden ist.
Der Einfachheit halber kann der Textblock komplett ersetzt werden, da der einzufügende Inhalt immer der gleiche ist.
Falls der Abschnitt [Textedi] nicht vorhanden ist, soll er am Ende der ini eingefügt werden.

Oder noch einfacher: Abschnitt löschen, falls vorhanden und neu Einfügen.

Ich habe bereits das IniFile - Tool von Horst Schaeffer ausprobiert, geht auch so wie ich mir das vorstelle. Ich habe allerdings ein Problem mit der zugehörigen exe, zwar kein technisches aber ein nennen wir es mal ideologisches.

Und einfach auch aus Interesse muss dies doch auch mit einem einfachen ca. 5 Zeilen batch file zu machen sein, ohne if-else Schleifen o.ä.?

Gruß
BB
Bitte warten ..
Mitglied: 78632
31.05.2009 um 13:38 Uhr
Zitat von BusterBlues1:

Ich möchte in einer ini Datei nach dem Abschnitt [Textedi] suchen und den darunter enthaltenen Text editieren. Dabei dürfte
es sich um 5-6 Zeilen handeln. Es ist jedoch nicht festgelegt, wo dieser Abschnitt in der ini zu finden ist

Start > Ausführen > Notepad inidateiname.ini [OK]

Evtl. noch den vollständigen Pfad zur .Ini-Datei hinzufügen
Bitte warten ..
Mitglied: LotPings
31.05.2009 um 17:09 Uhr
Ich kann da blablnick nur zustimmen.

Du selbst benutzt das Wort editieren, das setzt einen Editor voraus.
Wenn du aus Automatiotionsgründen dies in einer Batch realisieren willst, hast du einen definierten Änderungswunsch. Die Struktur einer Ini-Datei mit Abschnitten gibt aber keine simple Batch Lösung her.

Ob du nun externe Tools als unelegant empfindest macht in der Sache keinen Unterschied.

Ausserdem Lesen hilft. Das zitierte IniFile kann eine Abschnitt einfach löschen

INIFILE filename [section] /remove

Deinen neuen Abschnitt kannst du dann einfach mit Echo anhägen.

Gruß
LotPings
Bitte warten ..
Mitglied: BusterBlues1
31.05.2009 um 18:29 Uhr
Ja da habe ich mich wohl nicht genau ausgedrückt, es handelt sich um einen definierten Änderungswunsch.
Zum Glück hat aber doch jemand verstanden was ich meine.

Das es im besagten IniFile diesen Befehl gibt weiß ich und ich hatte ja auch geschrieben das mittels dieses Tools alles so FUNKTIONIERT wie ich mir das vorstelle.

Schön wäre es nur wenn sich dies auch ohne die zusätzliche exe datei realisieren ließe.

Aus welchem Grund ich diese exe Datei nicht haben will macht hier wirklich keinen Unterschied, hier kann ich LotPings nur zustimmen.
Bitte warten ..
Mitglied: Biber
31.05.2009 um 22:48 Uhr
Moin BusterBlues1,

ein verspätetes Willkommen im Forum auch von mir.
Ich weiss nicht, ob Du meinen Verweis auf Horst Schaeffers IniFile nicht richtig verstanden hast, aber ich versuche es gerne noch einmal umzuformulieren.

Im Prinzip sehe ich drei bis vier Möglichkeiten für Deine geplante Inifile-Bearbeitung
  • entweder der Verzicht auf eine automatisierte (Batch-)Verarbeitung --> NotePad aufrufen oder komplette "richtige" Ini-Datei erzeugen
  • oder 2) ein vorhandenes (Exe-) Tool verwenden, das alle Bearbeitungsvorgänge, die mit einem Ini-File denkbar sind abdecken kann
  • oder 3a) , wenn es halt kein Fremdtool sein darf, es per Batch nachbilden, was hier und heute Deine auf dem Tisch liegenden Anforderungen sind ("3 Zeilen ersetzen in einer Section namens [Bla]")
  • oder 3b) ein allgemein verwendbares Tool a la IniFile mit Batchmitteln nachzukaspern

Die ersten beiden Varianten hattest Du ausgeschlossen.
Eigenprogrammierung der Machart a) würde ich als die dümmste aller Varianten bezeichnen - die Implementierung eines Schnipsels, der nur einen Bruchteil des Funktionsumfangs eines One-Trick-Tools hat... da steht mir alles senkrecht, was physisch bei Männern meines Alters noch möglich ist.

Variante 3b) würde bedeuten, das als Messlatte zu nehmen, was vorhandene Tools so können, und dazu ließe sich ja Horst Schaeffers Tool befragen:
IniFile behandelt Windows typische INI Dateien mit Gruppennamen in eckigen Klammern und Zuweisungen in der Form: Name=String. 
 
Syntax: 
  
INIFILE Dateiname [Gruppe] Name=String 	ändern oder neu schreiben 
INIFILE Dateiname [Gruppe] Name= 	Zuweisung entfernen 
INIFILE Dateiname [Gruppe] Name== 	leere Zuweisung 
INIFILE Dateiname [Gruppe] /remove 	ganze Gruppe entfernen 
INIFILE Dateiname [Gruppe] Name > temp.bat 	Zuweisung lesen 
INIFILE Dateiname [Gruppe] > temp.bat 	alle Zuweisung der Gruppe lesen 
 
Zuweisungen und Gruppen werden neu angelegt, falls nicht vorhanden. Die INI-Datei muss vorhanden sein. 
 
Zum Lesen einer Zuweisung wird ein SET Statement nach STDOUT ausgegeben (für Umleitung in eine temporäre Bach-Datei). 
Diese Funktionalität also müsste per Native-Batch nachgekaspert werden.
Und hier stellt sich nicht die Frage, ob das machbar ist, sondern nur und ausschließlich die Frage, wer sollte so verrückt sein, nochmals ein paar Nachtschichten in die Erfindung des Farbfernsehers oder glykolfreiem Spätburgunder zu investieren, wo doch alles schon erfunden ist?

Und wenn Perfektionisten wie H.S. mittlerweile bei einer Version 1.6 angelangt sind, was würde dann wohl der Entwicklungsaufwand für ein reines Batchtool sein?

Meiner Meinung nach ist es absolut unverhältnismäßig und meine Antwort auf deine Frage, ob es denn auch mit reinen Batchbefehlen geht wäre ein überzeugtes Nein.

Bzw, mach es, wenn es um eine Wette geht - sonst nicht

Grüße
Biber
Bitte warten ..
Mitglied: LotPings
31.05.2009 um 23:07 Uhr
Zitat von Biber:
Meiner Meinung nach ist es absolut unverhältnismäßig und meine Antwort auf deine Frage, ob es denn auch mit reinen Batchbefehlen geht wäre ein überzeugtes Nein.

Ich kann mir ja Gründe vorstellen, es mit Batchmitteln machen zu müssen,
aber über die abwegige Vorstellung, das es mit 5 Zeilen reinen Batchcode und ohne Schleifen und if tun zu sollen,
kann man nur lachen.

Gruß
LotPings
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
gelöst Terminalserver .ini Datei unter C:Windows (8)

Frage von geocast zum Thema Windows Server ...

Batch & Shell
gelöst Variable aus ini Datei auslesen und weiterverwenden (17)

Frage von n0cturne zum Thema Batch & Shell ...

Batch & Shell
gelöst BATCH ini Datei Datei auslesen (2)

Frage von Juergen42 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...