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
GELÖST

Mittels Batch an bestimmte Stelle der win.ini schreiben

Frage Entwicklung Batch & Shell

Mitglied: 59769

59769 (Level 1)

21.01.2008, aktualisiert 20.01.2012, 8942 Aufrufe, 3 Kommentare

Ich möchte mittels Batch eine neue Zeile mit Text in der win.ini einfügen.
Der neue Text müsste immer unter demselben Eintrag stehen.
Irgendwo in meiner win.ini steht inipath=c:\programme\test\test.ini
und unter dieser Zeile möchte ich den Eintrag; winword=1 schreiben.
Kenne mich mit Batches nicht so aus...hoffe jemand kann mir einen Tip geben.
Mitglied: gemini
21.01.2008 um 22:27 Uhr
Hallo Muecke,

mit Batch kann ich dir nicht dienen, Sorry.

Wenn's auch VBs sein darf.
Hier ein Script, mit dem CapiFax für servergespeicherte Profile angepasst wurde.
Es sucht in der win.ini eine Zeile die mit WorkDir=\\<server>\CapiFax\ beginnt und ergänzt sie zu WorkDir=\\<server>\CapiFax\<username>.CLT
01.
Option Explicit 
02.
 
03.
Dim objFSO, objWshNetwork, objFile 
04.
Dim strWorkDir, strText, strLine, strPathFind, strExt 
05.
Const ForReading = 1, ForWriting = 2, ForAppending = 8 
06.
 
07.
strWorkDir = "C:\Windows\win.ini" 
08.
strText = "" 
09.
strPathFind = LCase("WorkDir=\\<server>\CapiFax\") 
10.
strExt = ".CLT\" 
11.
 
12.
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject") 
13.
 
14.
If objFSO.FileExists(strWorkDir) Then 
15.
Set objFile = objFSO.OpenTextFile(strWorkDir, ForReading) 
16.
    Do Until objFile.AtEndOfStream 
17.
    strLine = objFile.ReadLine 
18.
        If Left(LCase(strLine), Len(strPathFind)) = strPathFind Then 
19.
            Set objWshNetwork = Wscript.CreateObject("WScript.Network") 
20.
            strLine = strPathFind & objWshNetwork.UserName & strExt 
21.
	End If 
22.
        strText = strText & strLine & vbCrLf 
23.
    Loop 
24.
objFile.Close 
25.
Else 
26.
    MsgBox "Die Datei " & strWorkDir & " wurde nicht gefunden." 
27.
End If 
28.
 
29.
Set objFile = objFSO.OpenTextFile(strWorkDir, ForWriting) 
30.
objFile.Write strText 
31.
objFile.Close 
32.
strWorkDir = "" 
33.
strText = "" 
34.
strLine = "" 
35.
strPathFind = "" 
36.
strExt = ""
HTH,
gemini
Bitte warten ..
Mitglied: bastla
21.01.2008 um 22:48 Uhr
@gemini
Schöne Lösung ...

@59769
Wenn's doch Batch sein soll:
01.
@echo off & setlocal 
02.
set "Quelle=%windir%\win.ini" 
03.
set "Mark=inipath=c:\programme\test\test.ini" 
04.
set "Insert=; winword=1" 
05.
 
06.
set "TempTxt=%temp%\TT.txt" 
07.
copy "%Quelle%" "%TempTxt%">nul 
08.
 
09.
set Zeile=0 
10.
for /f "delims=:" %%i in ('findstr /n /i /b /c:"%Mark%" "%TempTxt%"') do set Zeile=%%i 
11.
 
12.
del "%Quelle%" 
13.
 
14.
if %Zeile%==0 goto :Rest 
15.
for /f "tokens=1* delims=:" %%i in ('findstr /n $ "%TempTxt%"') do if %%i leq %Zeile% echo.%%j>>"%Quelle%" 
16.
 
17.
echo %Insert%>>"%Quelle%" 
18.
 
19.
:Rest 
20.
more +%Zeile% "%TempTxt%">>"%Quelle%"
Sollte etwas schiefgegangen sein, liegt die ursprüngliche "win.ini" noch als "%temp%\TT.txt" vor.

Grüße
bastla
Bitte warten ..
Mitglied: 59769
22.01.2008 um 09:16 Uhr
Hallo zusammen

vielen Dank!
Da ich es für eine Softwareinstallation benötige, und die Befehle schon alle in einem Batch sind, versuch ichs mal mit der Batch Version. Danke trotzdem auch für die VB's, leider kenn ich mich damit noch fast zuwenig aus...Uebung macht den Meister
Bitte warten ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Windows Systemdateien
gelöst Registry-Schlüssel per Batch auslesen und in Datei schreiben (9)

Frage von Philzip zum Thema Windows Systemdateien ...

Batch & Shell
gelöst Kl. Frage: Log-File schreiben per Batch (3)

Frage von Yauhun zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (17)

Frage von Driphex zum Thema Exchange Server ...

Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...