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

gelöst Dateieditierung per Batchdatei (machine.config)

Mitglied: 23972

23972 (Level 1)

24.01.2006, aktualisiert 30.01.2006, 9465 Aufrufe, 10 Kommentare

Hallo, ich hab erst nach anderen Möglichkeiten gesucht, aber Batch-Dateien erscheinen mir jetzt als sehr leistungsfähig und vielleicht weiss jemand, wie man folgendes Problem löst:


Unter C:\WINDOWS\Microsoft.NET\Framework\
gibt es einen der Version des verwendeten Framework entsprechden Unterordner, z.B.
v1.1.4322\CONFIG
und dort liegt die Datei: "machine.config"

In der Datei gibt es das Tag: processModel und dort muss das Attribut userName='machine' mit userName='SYSTEM' ausgetauscht werden.
Kann man das per Batch-Datei machen? Wie würde sowas aussehen?
Erstmal muss er ja die richtige machine.config finden (kann auch in v1.0.3705\CONFIG liegen...)

Danke schonmal

H.
Mitglied: Biber
24.01.2006 um 21:46 Uhr
Moin hanswd,

lässt sich machen, aber es gibt drei (mögliche) Schwierigkeiten dabei:

a) Es wäre zu prüfen, ob M$ so dämlich war, einem x-beliebigen dahergelaufenen Batch die Änderung der machine.config zu erlauben. Immerhin stehen da zum Beispiel im Abschnitt &ltprocessModel&gt auch solche Sachen wie Username und Passwort drin. Andererseits... wie ich M$ einschätze, ist das kein Problem...

b) Wie Du auch angesprochen hast - irgendwie muss vorher der gültige (Versions-) Pfad ermittelt werden.
Ich weiß nicht, ob/wo der in der Registry steht oder sonst aus dem aufrufenden Kontext ermittelt werden kann - das müsstest Du klären. Oder es muss fest in den Batch verdrahtet ("hart codiert") werden, was ich auch ungern mache.

c) Da die machine.config ja eine XML-Datei ist, sind im Batch ein paar Maskierungen (für die Größer/Kleiner-Zeichen, die ja auch im Batch Steuerzeichen sind) nötig. Da so etwas aber öfters mal hier nachgefragt wird, fände ich das einen schönen Anlass für einen Beispiel-Batch und helfe gerne mit.

Kannst Du zu Punkt a) und b) etwas recherchieren bitte?

Grüße Biber
Bitte warten ..
Mitglied: 23972
25.01.2006 um 01:02 Uhr
Hi Biber, klingt gut, hier schon mal was zu Deinen Punkten:

Zu a)

Die Datei ist jedenfalls nicht extra geschützt wie es scheint, ich denke mal,das wird kein Problem sein sicherheitstechnisch...Hab ansonsten aber keine Quellen gefunden, die da schonmal per Batchdatei geändert haben

Zu b)

Es gibt sogar mehrere Stellen in der Registry in denen der Pfad zur machine.config steht:
1.
01.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\4AA80E9DBDA37C74BBB132651E9BBF8A]
02.
"DDE7F2BCF1D91C3409CFF425AE1E271A"="C?\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\CONFIG\\machine.config"
oder
2.
01.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls]
02.
...
03.
"C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\CONFIG\\machine.config"=dword:00000001
04.
...
Kompletter 2.ter Key: [Edit Biber: wieder ein bisschen gekürzt.... so genau brauchen wir es doch nicht.. [/Edit]
</code>
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls]
"C:\\Programme\\Gemeinsame Dateien\\Microsoft Shared\\Triedit\\dhtmled.ocx"=dword:00002710
[...........]
"C:\\WINDOWS\\system32\\rired32e.dll"=dword:00000001
"C:\\WINDOWS\\system32\\SUPPORT.INI"=dword:00000001
......
"C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.0.3705\\installutil.exe.config"=dword:00000002
"C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\CONFIG\\machine.config"=dword:00000001
"C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\mscorcfg.msc"=dword:00000001
"C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\mscoree.tlb"=dword:00001000
.......
"C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\IEExecRemote.dll"=dword:00000001
</code>
Bitte warten ..
Mitglied: Biber
25.01.2006 um 08:14 Uhr
Moin hanswd,

danke schon mal für die Recherche.
Der zweite RegKey sieht vertrauenserweckender aus - der lässt sich ja auch auf verschiedenen Rechnern wiederfinden.
Allerdings muss der Batch (bzw. der Batch-aufrufende-User) die Rechte zum Lesen des HKLM-Zweiges haben. Sollten wir schon mal im Hinterkopf behalten als Restriktion.
Dazu bitte noch mal den SubKey unter [..SharedDLLs] posten (bzw. Editieren in Deiner Antwort.)

Wenn Du dann noch schreibst, was Du (ggf. abhängig von...bla..) ändern willst, dann können wir heute abend loslegen.
Vorher hab ich wenig Luft.

Grüße Biber
Bitte warten ..
Mitglied: 23972
25.01.2006 um 12:41 Uhr
So, hab mal den kompletten Key in die Antwort davor gepackt, und in der Frage steht jetzt auch drin, was er machen soll:
=> username='machine' in username='system'

Das wurde in dem Beitrag wohl ausgeblendet, da vor processModel ein Kleinerzeichen stand!!

Gruß
H.
Bitte warten ..
Mitglied: Biber
29.01.2006 um 13:11 Uhr
So, hanswd,

heute nachmittag könnten wir ein wenig weiterbasteln.
Den ersten Teil, die Ermittlung des Pfades zur "aktiven" Datei machine.config kann ich Dir schon posten.
Zum Bearbeiten dieser XML-Datei hätte ich gern noch ein bisschen Input. Ich schick Dir mal eine PN mit meiner Mailadresse und bitte um eine realistische machine.config mit den Angaben, was geändert werden soll.

01.
::--snipp ErmittleMachineConfigPath.bat
02.
@echo off & setlocal
03.
Set "OutOfTheReg=%temp%\MySharedDLLs.reg"
04.
Set "NeededRegKey=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDlls"
05.
regedit /e %OutOfTheReg% %NeededRegKey%
06.
goto skipProsa
07.
~~~~~~~~~~~
08.
:: In der %OutOfTheReg%-Datei steht jetzt die oben abgedruckte meterlange Liste
09.
:: Von der brauchen wir eine Zeile: die Zeile mit "machine.config"
10.
:: Die holen wir mit dem FIND-Befehl
11.
:: Ein CMD-Prompt-Befehl "find /i "machine.config" %OutOfTheReg%"
12.
:: würde als Output sinngemäß liefern:
13.

14.
---------- Z:\TEMP\MYSHAREDDLLS.REG
15.
"C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\CONFIG\\machine.config"=dword:00000001</i>
16.
:: Die ersten beiden Outputzeilen entsorgen wir mit "skip=2" in der nächsten Anweisung,
17.
:: ebenfalls alles nach dem "="-Zeichen inclusive mit "delims=="
18.
:skipProsa
19.
for /F "skip=2 delims==" %%i in ('find /i "machine.config" %OutofTheReg%') do Set "MCFile=%%i"
20.
:: In MCFile steht jetzt folgendes:
21.
:: "C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\CONFIG\\machine.config"
22.
::da ersetzen wir die doppelten Backslashes durch einfache.
23.
Set MCFile=%MCFile:\\=\%
24.
::Ergebnis MCFile="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config"
25.
::--snapp ErmittleMachineConfigPath.bat
Jetzt könnten wir anfangen....

Gruß Biber
Bitte warten ..
Mitglied: Biber
29.01.2006 um 17:01 Uhr
Jo, dann lass uns mal loslegen....
Ich hätte folgende Alternativstrategien für diesen Zweck:

a) Die "saubere"
Wir parsen die machine.config-XML-Datei, das heißt hangeln uns von Node zu Node, um sicherzustellen, dass auch der richtige XML-Tag in dem richtigen Node geändert wird.
Was dagegen spricht, ist meine Abneigung gegen das 12000ste Neu-Erfinden von solchen Rädern.. XML-Parser gibt es schon reichlich - zwar eher als ASP.net oder Java-Code, aber ..was soll's.
Einen kleinen SAX-Parser oder ähnliches hat bestimmt ziemlich jeder Java-Noob schon mal zusammengeschrotet. Das reizt mich also wenig.

b) Denn wenn es hier mit der konkreten machine.config einfacher geht, sehe ich es pragmatisch.
Ansatz:
- Prüfen, ob die machine.config GENAU eine Zeile mit [Username="machine"] enthält.
- wenn ja (ist in unserem Fall gegeben)
- Sicherungskopie anlegen
b1) mit einem Freeware-Konsolen-Utility "StringReplace.exe" den Text [Username="machine"] durch den Text [Username="system"]
ersetzen. Solche Utilities gibt es, ich habe grad keins zur Hand.
b2) eine StringReplace-Funktion in VBS/JS zusammenbraten oder anpassen. Da hat gemini einige hier im Forum gepostet, die relativ universell sind.
b3) die reine Batch-Lösung.
- Zu ändernde Zeilennummer ermitteln.
- Alle Zeilen DAVOR lesen und eins zu eins wieder schreiben.
- die Zeile selbst neu schreiben
- Alle Zeilen DANACH lesen und eins zu eins wieder schreiben.
Lumpig bei dieser Lösung ist das Maskieren der naturgemäß vielen Größer- und Kleinerzeichen beim Lesen und Schreiben dieser XML-Datei.
Kleiner- und Größerzeichen sind ja Steuerzeichen im Batch und werden deshalb nicht als zum Text zugehörig interpretiert.
Zum Thema Maskierung: siehe in meinen Batch-Tutorials in Batch & Shell.

b4) Da ich wie alle Biber stinkefaul bin, spar ich mir die Maskiererei - ich ersetze vorher alle Kleinerzeichen durch ein Paragrafzeichen, alle Größerzeichen durch ein "deutsches SZ" und später wieder zurück.
Für diesen Zweck habe ich nämlich ein Freeware-Utility namems Change.exe irgendwo mal runtergeladen.
Link trag ich nach, falls/sobald ich ihn finde.
[Edit]hanswd hat den Link auf die change-x.zip gefunden:
http://www.daikatana.org/TecSoft/index.php?os=win&produkte=Dateien
[/Edit]

Funktioniert jedenfalls für einzelne Zeichen sauber:
01.
$cmd$change
02.
CHANGE Version 1.1
03.
Programmiert von: tec@Onlinehome.de
04.

05.
Dieses Programm sucht in einer Textdatei nach einem bestimmten
06.
Buchstaben und ersetzt es durch einen anderen.
07.

08.
Das Programm wird folgendermassen aufgerufen:
09.
CHANGE.EXE <Datei> <Char1> <Char2> <x> <y>
10.

11.
<Datei> = Pfad + Dateiname der zu durchforstenden Datei
12.
<Char1> = Nach diesem Buchstabe wird gesucht
13.
<Char2> = Buchstabe wird ersetzt durch diesen Buchstaben
14.
<x>     = wenn x = 1 dann: wird jede Zeile am Bildschirm angezeigt
15.
<x>     = wenn x = 2 dann: wird keine Zeile am Bildschirm angezeigt
16.
<y>     = wenn y = 1 dann: statt <Char1> wird das Pipezeichen "|" genommen
17.
<y>     = wenn y = 2 dann: statt <Char2> wird das Pipezeichen "|" genommen
18.
          Die Eingabe von <y> ist optional - muss also nicht unbedingt sein!
19.
          <Char1> oder <Char2> werden dann je nachdem ignoriert. Wurde deshalb
20.
          eingebaut da DOS kein "|" als Parameter erlaubt!
21.

22.
Beispiel: CHANGE.EXE D:\BEISPIEL.TXT T Z
23.
Es werden in der Datei D:\BEISPIEL.TXT alle Buchstaben T durch Z ersetzt.
Ich verfolge jetzt nur noch Strategie b4) weiter,

Okay, der Batchschnipsel oben hörte auf mit der Ermittling des Pfades der Machine.config.
Nächstes Teilproblem: Gibt es genau EINE Zeile mit [Username="machine"]?
Löse ich mit folgender Zeile:
for /f "skip=1 tokens=3" %%i in ('find /i /c "username=""machine" machine.config') do @set "AnzZeilen=%%i"
... in der Variablen %AnzZeile% sollte jetzt eine "1" stehen, wenn ich sinnvoll weitermachen kann.
Steht eine "0" drin, wurde keine Zeile gefunden (nothing to do).
Werden 2 oder mehr Zeilen gefunden... tja, dann muss mir einer sagen, was ich tun soll. Alle ersetzen? Nur das erste?

Okay, der Rest sollte im weitergeführten Batch nachvollziehbar sein.
01.
::--snipp SetUserToSystemInMachineConfig.bat
02.
@echo off & setlocal
03.
Set "OutOfTheReg=%temp%\MySharedDLLs.reg"
04.
Set "NeededRegKey=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDlls"
05.
regedit /e %OutOfTheReg% %NeededRegKey%
06.
goto skipProsa
07.
~~~~~~~~~~~
08.
:: In der %OutOfTheReg%-Datei steht jetzt die oben abgedruckte meterlange Liste
09.
:: Von der brauchen wir eine Zeile: die Zeile mit "machine.config"
10.
:: Die holen wir mit fem FIND-Befehl
11.
:: Ein CMD-Prompt-Befehl <i>$cmd$find /i "machine.config" %OutOfTheReg%</i>
12.
:: würde als Output sinngemäß liefern:
13.
<i> 
14.
---------- Z:\TEMP\MYSHAREDDLLS.REG
15.
"C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\CONFIG\\machine.config"=dword:00000001</i>
16.
:: Die ersten beiden Outputzeilen entsorgen wir mit "skip=2" in der nächsten Anweisung
17.
:: ebenfalls alles nach dem "="-Zeichen inclusive mit "delims=="
18.
:skipProsa
19.
for /F "skip=2 delims==" %%i in ('find /i "machine.config" %OutofTheReg%') do Set "MCFile=%%i"
20.
:: In MCFile steht jetzt folgendes:
21.
:: "C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\CONFIG\\machine.config"
22.
::da ersetzen wir die doppelten Backslashes durch einfache.
23.
Set MCFile=%MCFile:\\=\%
24.
::Ergebnis MCFile="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config"
25.
:: Die Überprüfung IF exist %MCFILE% sollte schon rein...
26.
IF NOT exist %MCFILE% exit /b 3
27.
:: Also raus mit ERRORLEVEL 3
28.
for /f "skip=1 tokens=3" %%i in ('find /i /c "username=""machine" %MCFile%') do @set "AnzZeilen=%%i"
29.
IF NOT [%AnzZeilen%]==[1] exit /b 2
30.
:: wenn nicht genau EINE Zeile mit [username="machine"]...ist Ende hier.
31.
Set "MCKopie=%temp%\MCTemp.txt"
32.
Copy /y %MCFile% %MCKopie% >nul
33.
:: Arbeitskopie der machine.config anlegen.
34.
:: Alle Kleinerzeichen ersetzen durch §, alle Größerzeichen durch "ß"
35.
change %MCKopie% ^< § 2 >nul
36.
change %MCKopie% ^> ß 2 >nul
37.
:: Die Zeilennummer ermitteln mit dem Text [username="machine"]
38.
FOR /F "skip=2 tokens=1" %%i IN ('find /i /n "username=""machine" %MCKopie%') DO set "ReplLine=%%i"
39.
::bei der konkreten Datei machine.config, mit der ich teste, 
40.
:: steht jetzt bei %ReplLine% der Wert [452] für die gefundene Zeile
41.
::noch eben die eckigen Klammern wech...
42.
::[Edit] -------Set ReplLine=%ReplLine:[=%
43.
::[Edit] -------Set ReplLine=%ReplLine:]=%
44.
::[Edit] Hier war ein M$-Bug, den ich übersehen habe. 
45.
::[Edit]   %ReplLine% wurde falsch gesetzt auf "[452]username=""machine"
46.
::[Edit] **Drex-M$-Stümper *grmpffffffff*
47.
::[Edit] Workaround nächste Zeile: [/Edit]
48.
For /F "delims=[]" %%i in ("%ReplLine%") do set "ReplLine=%%i"
49.
:: So, jetzt machine.config lesen und neue schreiben:
50.
Set /a "AktuelleZeile=1"
51.
Set "MCNew=%temp%\MCNew.txt"
52.
If exist %MCNew% del %MCNew%
53.
FOR /f "delims=" %%i IN (%MCTemp%) DO call :ReadAndWrite %%i
54.
change %MCNew% § ^< 2 >nul
55.
change %MCNew% ß ^> 2 >nul
56.
If Exist %MCFile% copy %MCFile% %MCfile%.old >nul
57.
IF EXIST %MCNew% COPY /y %MCNew% %MCFile% >nul
58.
goto :eof
59.

60.
:ReadAndWrite Parameter %1 ist die alte Zeile
61.
IF [%AktuelleZeile%]==[%ReplLine%] echo username="system">>%MCNew%
62.
IF Not [%AktuelleZeile%]==[%ReplLine%] echo %* >>%MCNew%
63.
Set /A "AktuelleZeile+=1"
64.
goto :eof
65.
::--snapp SetUserToSystemInMachineConfig.bat
Hope it Helps
Biber

P.S. Ich verkürze mal in Deinem Kommentar oben diese meterlange Liste aus der Registry ein bisschen.
P.P.S. GETESTETE *.bat per Mail an hanswd... warte auf sein Ergebnis.
Bitte warten ..
Mitglied: Biber
30.01.2006 um 11:00 Uhr
Nachtrag:
hanswd und ich haben den Batch getestet..der tut auch, was er soll.
Aber: Durch das zeilenweise Lesen und Schreiben mit der FOR..IN..DO-Anweisung werden
a) alle LeerZEILEN aus der machine.config-XML-Datei entfernt
b) auch alle führenden LeerZEICHEN (also die Einrück-Formatierungen) entfernt.
Macht dem Rechner nichts aus - die XML-Datei ist natürlich gültig und interpretierbar.
Für Menschen ist es allerdings schlechter lesbar.
Deshalb nochmal der Hinweis: Einfacher wäre es mit einen von der Konsole verwendbaren Utility, das die Zeile 'username="machine"' durch 'username="system"' ersetzen kann.
Falls jemand einen Link posten könnte, wäre ich dankbar.
Der eigentliche Lösungsweg bleibt trotzdem bestehen.

Grüße biber
Bitte warten ..
Mitglied: 23972
30.01.2006 um 16:46 Uhr
Ich glaub ich hab da ein passendes Freewaretool gefunden:
String Replace v1.1 - Remove/replace strings from text files
(strep11.zip)

Nr. 1093 auf dieser Liste:
http://www.sac.sk/files.php?d=19&l=

Mfg
Hans
Bitte warten ..
Mitglied: Biber
30.01.2006 um 17:22 Uhr
Jepp, hanswd,
das passt besser. Wie das halt so ist mit geschenkten Gäulen hat dieses Tool zwar auch ein paar Eigenheiten, aber unterm Strich ist es natürlich viel einfacher.

Ich habe es eben mal kurz angetestet:
Das STREP-Utility erwartet im Verzeichnis, aus dem es aufgerufen wird (also nicht in dem Verzeichnis, in dem es die STREP.exe ist) eine Datei namens REPLACE.TXT mit dem Inhalt abwechselnd Suchstring und Ersatztext:
-------snipp REPLACE.Txt
userName="machine"
userName="system"
-------snapp REPLACE.Txt

Mit den Anführungszeichen kommt STREP.exe klar; die beiden Zeilen/die REPLACE.TXT lassen sich auch dem Batch per ECHO anlegen.
Auch diese ganze Einzelzeichen-Ersetzungsmimik mit CHANGE.exe im obigen Batch wird hinfällig.
Zu beachten ist nur, dass STREP.exe nicht mit Extensions größer 3 Zeichen klarkommt; Inputdatei muss eine Extension <=3 Zeichen haben; Outputdateiname wird mit Extensionlänge = 3 angelegt.
Ich denke, von obigen Batch bleibt nur die Anfangsmimik übrig (Ermitteln des machine.config-Pfades via Registry; Überprüfung auf genau ein Vorkommen von SUCHTEXT), danach diese Zeile ersetzen mit STREP und gut ist.

Hätten wir also etwas kürzer haben können. *gg

Grüße und vielen Dank für den Link
Biber
Bitte warten ..
Mitglied: 23972
30.01.2006 um 18:33 Uhr
Hier mal der Code für die Batch mit Strep 1.1:

01.
@echo off & setlocal
02.
Set "OutOfTheReg=%temp%\MySharedDLLs.reg"
03.
Set "NeededRegKey=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDlls"
04.
regedit /e %OutOfTheReg% %NeededRegKey%
05.

06.
for /F "skip=2 delims==" %%i in ('find /i "machine.config" %OutofTheReg%') do Set "MCFile=%%i"
07.
:: In MCFile steht jetzt folgendes:
08.
:: "C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\CONFIG\\machine.config"
09.
::da ersetzen wir die doppelten Backslashes durch einfache.
10.
Set MCFile=%MCFile:\\=\%
11.
::Ergebnis MCFile="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config"
12.
:: Die Ueberpruefung IF exist %MCFILE% sollte schon rein...
13.
IF NOT exist %MCFILE% exit /b 3
14.
:: Also raus mit ERRORLEVEL 3
15.
for /f "skip=1 tokens=3" %%i in ('find /i /c "username=""machine" %MCFile%') do @set "AnzZeilen=%%i"
16.
IF NOT [%AnzZeilen%]==[1] exit /b 2
17.
:: wenn nicht genau EINE Zeile mit [username="machine"]...Ende hier.
18.

19.
Set "MCResult=%temp%\MCResult.txt"
20.
Set "MCKopie=%temp%\MCNew.txt"
21.
Copy /y %MCFile% %MCKopie% >nul
22.
STREP %temp%\MCNew.txt %temp%\MCResult.txt
23.

24.
If exist %MCKopie% copy /y %MCResult% %MCFile% >nul
25.
goto :eof
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batchdatei: Variablen-Wertezuweisung
gelöst Frage von donnyS73lbBatch & Shell2 Kommentare

Hallole, eine Anfängerfrage: Was mache ich hier falsch? echo %variable1% liefert das richtige Ergebnis, denn variable1 hat einen gültigen ...

Windows 10
Aufgabenplanung und Batchdatei
gelöst Frage von supertuxWindows 105 Kommentare

Hallo zusammen, ich habe mir eine Batch erstellt, diese setzt bestimmt User-Einstellung am PC zurück. Diese Batch habe ich ...

Batch & Shell
Problem mit Batchdatei
Frage von achkleinBatch & Shell3 Kommentare

Hallo, ich habe für eine Bekannte eine kleine Batchdatei geschrieben, die automatisch alte Nachsendeaufträge im Download-Ordner löschen soll. Allerdings ...

Batch & Shell

Batchdatei Fehlermeldung unterdrücken

gelöst Frage von Koala86Batch & Shell5 Kommentare

Hallo, ich habe ein Problem mit einer Batchdatei. Ich habe ein Script geschrieben, welches automatisch einen Screenshots im Ordner ...

Neue Wissensbeiträge
Datenschutz

SiSyPHuS Win10: Analyse der Telemetriekomponenten in Windows 10

Tipp von freesolo vor 1 TagDatenschutz1 Kommentar

Alle die sich detailliert für die Datensammlung interessieren die unter Windows 10 stattfindet, sollten sich folgende Analyse des BSI ...

Sicherheit
Adminrechte dank Intel-Grafikkarte
Information von DerWoWusste vor 1 TagSicherheit1 Kommentar

ist das Advisory, welches beschreibt, welche Intel HD Graphics Modelle Sicherheitslücken haben, mit denen sich schwache Nutzer zu Admins ...

Internet

EU Urheberrechtsreform: Eingriff in die Internetkultur

Information von Frank vor 2 TagenInternet1 Kommentar

Liebe Besucherin, lieber Besucher, warum erscheint das obere Banner in allen Beiträgen? Aus Protest gegen Teile der geplanten EU-Urheberrechtsreform ...

Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 3 TagenWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Heiß diskutierte Inhalte
Router & Routing
Lancom-VPN-Client
Frage von FM28880Router & Routing15 Kommentare

Hallo zusammen, ich habe heute zwei Rechner mit einem Lancom VPN-Client eingerichtet. Die VPN-Verbindung wird aufgebaut und steht. Jedoch ...

Microsoft Office
Sharepoint 2016 mag keine Umlaute in .docx-Titeln
gelöst Frage von DerWoWussteMicrosoft Office14 Kommentare

Moin Kollegen. Nutzt hier jemand Sharepoint? Könnt Ihr, unabhängig von der Sharepointversion, bitte einen Test machen? Ladet ein .docx ...

Basic
VBS soll alle Ordner auswählen, die im Startmenu angezeigt werden
Frage von Senseless-CreatureBasic12 Kommentare

Guten Morgen - gibt es eine Möglichkeit, per VBS das Startmenu in Win10 zu modifizieren? Ich beherrsche VBS mittlerweile ...

Hyper-V
Hyper-V Manager startet, jedoch keine VM
Frage von NaleorHyper-V11 Kommentare

Hallo zusammen, auf meinem Windows 10 (Build 1703) Notebook von der Arbeit scheint Hyper-V plötzliche nicht mehr zu funktionieren. ...