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

(batch) ini file verwaltung auslesen und ersetzen

Frage Entwicklung Batch & Shell

Mitglied: Phlegma

Phlegma (Level 1) - Jetzt verbinden

23.01.2007, aktualisiert 27.01.2007, 10765 Aufrufe, 6 Kommentare

moin,
ja ok, schon der 2te beitrag nacheinander...( statt nem dritten jez den ersten erweitert und den 2ten verändert xD)
thema wurde schon ein paar mal behandelt aber nicht ganz in dem sinne wie ich möchte oder ich hab es einfach noch nicht verstanden...

in einem ini file werden die werte gespeichert die mein prog bzw meine batch dann verwendet als variablen

zudem soll sie selbst eine datei anlegen an der sie bei wiederholter ausführung erkennt dass sie schon ausgeführt wurde und bestimmte variablen erkennt

jetzt das problem: diese variablen sollen auch im ini file verändert werden können...
beispiel:

dateien wurden per batch von cd auf die festplatte kopiert und der ort in eine datei im windows verzeichnis gespeichert.
später wird die batch wieder ausgeführt und sie soll nun erkennen dass sie schon dateien dorthin kopiert hat (sie Zb löschen können) anbieten neu zu kopieren, an einen anderen ort, und den wert des ortes im ini file ändern..

zudem soll das ini file ja ganz geordnet sein und nicht immer wieder ne variable hinten drangeschmissen werden mit echo bla=blabla >>inifile.ini

außerdem verstehe ich im for befehl die tokens nicht...
FOR /F "eol=; tokens=2,3* delims=, " %i in (Datei.txt) do @echo %i %j %k
danke cmd help ... aber sagen was tokens sind tust du trotzdem in der erklärung danach nicht...
tokens übersetzt = marken, also sowas wie anhaltspunkte... richitg? aber woran erkennt man die ? wodurch sind die definiert?


ich glaub dazu wäre es auch mal sehr gut wenn es ein tutorial geben würde...

könnten wir mal sammeln..?

FOR /F %%i in ('findstr /i "var" config.ini') do Set %%i
...
..
.

freu mich auf hilfe, Ph
Mitglied: Phlegma
24.01.2007 um 20:31 Uhr
.....schön....
hey ich dachte ihr kennt euch so gut aus... (besonders @MOD )

ich hör dann auch auf komische fragen zu stellen und bastel ein tutorial...(über alles was ich bisher schon schönes gelernt hab...!!

aber bitte gebt mir die nötigen hinweise .. allein schaff ich das nicht... (nicht nur @ mod)

gruß, Ph
Bitte warten ..
Mitglied: miniversum
26.01.2007 um 20:36 Uhr
also mal eins nach dem andern:
For /? liefert dir eine Hilfe. Mit delims "trennst" du eine Zeile in einzelne Teile(tokens) auf. Delims gibt dabei die Trennzeichen an. wilslt du dan nur das 3. und 4. tokken haben gibst du dies eben dann an.

Jetzt zum schreiben und auslesen des Speicherortes:
Du frägst ja den Ort irgentwie ab und hast ihn dan in einer Variablen wie z.B. %speicher% stehen. Die kannst du ja einfach in eine Datei schreiben mit echo %speicher%>>Datei.ini
Was willlst du da bei einem Eintrag ordnen?

Du kannst dan imem rwieder beim start kontrollieren ob diese Datei existier mit if exist %windir%\datei.ini


miniversum
Bitte warten ..
Mitglied: Phlegma
26.01.2007 um 20:54 Uhr
moin,
ah super jetzt versteh ich die tokens.. danke

nun was ich erreichen möchte ist im grunde das genaue ersetzen einer zeile im ini file,
also der dateispeicherort einer variable..
deshalb funktioniert dieses hintendranhängen nicht so gut.. sonst müsste man immer den letzen wert nehmen wenn er schon einmal in der datei stand und die datei würd immer länger und unordentlicher werden...

gibt es eine möglichkeit eine bestimmt zeile in einem dokument zu ersetzen?

nochmal und schonmal danke, Ph
Bitte warten ..
Mitglied: miniversum
27.01.2007 um 11:52 Uhr
Genau da ssit der suchbegrif. Zeile ersetzen. hast du mal geschaut? hier im forum wurde schonmal was gepostet. Ist bischen umständlich.
Im prinzip must du die batch durchsuchen und rausfinden in welcher zeile das steht. Das bekommst du mit Find hin. Dan schreibst du alle zeilen bis zu der betreffenden in eine neue datei, danach dein geänderter wert un ddanach den teil nach deiner gesuchten zeile (geht mit Forschleife und skip=).

miniversum
Bitte warten ..
Mitglied: Phlegma
27.01.2007 um 13:22 Uhr
hi,
ok.. also wird quasi die ganze datei eingelsen.. eine zeile verändert und dann die ganze datei neugeschrieben...
geht das gar nicht einfacher?
ich galub ich werds trotzdem hintendranklatschen xD
und dann einfach meinen befehl behalten, der dann doppelt ausgeführt wird und bei jedem der strings die variable setzt dh die erste (bzw ersten) überschreibt...

geht das? oder muss muss ich noch etwas an meinem for befehl ändern.. er sucht doch alle strings bla mit findstring "bla" oder nur den ersten?

danke, Ph
Bitte warten ..
Mitglied: miniversum
27.01.2007 um 15:17 Uhr
Das sollte so funktionieren.
in der suche mit find un ddan über set zuweisen. das letzte gefundene wird dann weiter benutzt.
Was du auch machen könntest, ist aber gepfuscht, ist den wert in die erste zeile zu schreiben.
Dann kanst dus auch einfach einlesen wie gehabt.
Das neuschreiben beim verändern gestaltet sich einfacher weil du dann einfach über echo pfad=%variable%>NeueDatei.ini eine neue Datei anfangwn kannst und dann den rest der alten Datei mit einer Forschleife und skip=1 an die neue Datei dranhängen kannst.

miniversum
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

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

Frage von Juergen42 zum Thema Batch & Shell ...

Batch & Shell
gelöst BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren (9)

Frage von Manuel1234 zum Thema Batch & Shell ...

Batch & Shell
gelöst ( Batch ) Open File or Folder Dialog (5)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
Per Batch aktuell angemeldete User auslesen (1)

Frage von Peter32 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...