PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mit Batch (oder sonstwas) Ini Dateien verändern?



Pij
31.03.2009, 20:13
Kann man via Batch oder sonst irgendeiner schnell ausführbaren Sprache (.exe, .bat, .w/e) auf eine .ini Datei zugreifen und an ihrem Inhalt rumspielen?
Also die Ini Datei sieht irgendwie so aus:


[eins]
wert=12
rofl=hallo
[abc]
blabla=1234
narf=9000

dann führt man die .bat (oder was auch immer) Datei aus und dannach soll es irgendwie so aussehen:


[eins]
wert=a
rofl=tschüss
[abc]
blabla=4321
narf=1337

Die .bat Datei und die .ini Datei würden sich im selben Ordner befinden und nichts ist schreibgeschützt o.Ä.

monky2k6
31.03.2009, 20:28
Man kann mit einer Batch Datei (.bat) Problemlos eine Textfile erstellen, also auch eine .ini etc. Das Problem ist aber das man, soweit ich weis, man nicht in eine bestimmte Zeile eingreift sondern die Text-Datei immer komplett neu schreiben muss.

Das würde dann so aussehen:


echo hierstehtdertextderindererstenzeilestehensoll > namederdatei.ini
echo hierstehtdiezweitezeile >> namederdatei.ini
echo hierstehtdiedrittezeile >> namederdatei.ini
usw.


Wichtig ist, das man für die erste Zeile einen "einfach-Pfeil" benutzt, damit man die Datei überschreibt, und dann für jede weitere Zeile einen Doppelpfeil benutzt.

Vllt. ist es ja schon das, was du suchst? :gmod:

Pij
31.03.2009, 20:38
Also damit könnte ich es so machen, dass die Datei jedes mal neu erstellt / überschrieben wird, d.h. ich muss die Einträge, die sich nicht verändern sollen, einfach immer an der gleichen Stelle mit dem gleichen Wert lassen und bei den anderen dann etwas hinschreiben. Etwas arbeitsaufwendig aber erfüllt seinen Zweck voll und ganz =D
Danke!
Und wie kann ich eine zufällige Zahl von 1-10 oder so als Wert anzeigen lassen?
x=rand(1,10); ?

monky2k6
31.03.2009, 20:43
Puh.. ob sowas mit Batch möglich ist wag ich jetzt mal zu bezweifeln.
Aber es gibt doch dieses Programm da.. "AutoIt" oder so ähnlich. Damit soll man angeblich sehr leicht sich Makros für so einfache Aufgaben schreiben können. Und sogar kleine Programme daraus erzeugen. Vllt. kannst du dir das ja mal angucken.

Pij
31.03.2009, 20:48
*107 Zeilen eingefügt hab*
AutoIt? http://pij.bplaced.net/rogifs/swt.gif
Okay danke. Ich schaus mir an.

ed:
Okay, hmm. Also AutoIt sieht mir nach den ersten zwei Tuts ein bisschen zu unpassend dafür aus. Habe jetzt allerdings die Random Funktion bei Batch entdeckt:



Set /a asdf=%random%
Wobei ich keine Ahnung habe, wofür das Set /a da ist. Mag ich zwar eigentlich nicht, aber ich werd trotzdem damit arbeiten.

Pac_187
31.03.2009, 21:29
/a Steht führ Ausdruck,
also gibt an das der Wert der dort definiert wird eine Zahl ist!

fame
02.04.2009, 00:36
ed:
Okay, hmm. Also AutoIt sieht mir nach den ersten zwei Tuts ein bisschen zu unpassend dafür aus. Habe jetzt allerdings die Random Funktion bei Batch entdeckt:


Autoit ist sehr gut dafür geeignet! :shock:

iniwrite("DATEINAME", "Was bei [] steht", "was darunter vor dem = steht", "was darunter hinter dem = steht")

für
>>test.ini (im gleichen verzeichnis wie die compilierte exe)
[HALLO]
Ich=bin
Oolisch=V_vlisch

iniwrite("test.ini", "HALLO", "Ich", "bin")
iniwrite("test.ini", "HALLO", "Oolisch", "V_vlisch")

und wenn du dann noch eine zufallszahl brauchst^^
iniwrite("test.ini", "HALLO", "Zufallszahl", Random(Von, Bis, 1))

Random(1,5,1) gibt also eine Zahl zwischen 1 und 5 aus^^. Die 1 ganz am Schluss besagt eigentlich nur das es eine ganze Zahl sein soll und keine Kommazahl.


Bei Bedarf kann ich dir auch was machen