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

Textblöcke aus Quelldatei filtern und in neue Datei schreiben

Frage Entwicklung Batch & Shell

Mitglied: peter8810

peter8810 (Level 1) - Jetzt verbinden

19.07.2010 um 14:12 Uhr, 3938 Aufrufe, 14 Kommentare

Hallo liebe Admins!

Mein Problem ist, das ich nicht weiss wie ich eine .txt Datei so zerfilter oder absuche, dass ich genau den Bereich an Text rausbekomme, den ich gerne haben möchte (also ein von-da-bis-da-Problem).
Hier mein Beispieltext (beispiel.txt):

01.
//---- test() ------------------// 
02.
// 1. kommentarzeile            // 
03.
// 2. kommentarzeile            // 
04.
//------------------------------// 
05.
proc test() 
06.
/****************************************************/ 
07.
/* BLABLA zu proc test()                            */ 
08.
/****************************************************/ 
09.
//---- test2(parameter1, parameter2) ----// 
10.
// 1. kommentarzeile            // 
11.
// 2. kommentarzeile            // 
12.
//------------------------------// 
13.
proc test2(parameter1, parameter2) 
14.
/****************************************************/ 
15.
/* BLABLA ZU proc test2(parameter1, parameter2)     */ 
16.
/****************************************************/ 
17.
//--------------------------------// 
18.
// zwischendrin steht unwichtiges // 
19.
// das will ich nicht haben       // 
20.
//--------------------------------// 
21.
//---- test3() -------------------// 
22.
// 1. kommentarzeile              // 
23.
// 2. kommentarzeile              // 
24.
//--------------------------------// 
25.
proc test3zusatz() 
26.
/****************************************************/ 
27.
/* BLABLA ZU proc test3zusatz()                     */ 
28.
/****************************************************/ 
29.
//____________________ 
30.
//     test4() 
31.
//____________________ 
32.
// 1. kommentarzeile 
33.
// 2. kommentarzeile 
34.
//____________________ 
35.
template test4()
Ich möchte den Text von Zeile 1-4, 9-12 usw haben, jedoch nicht den von 17-20.

Im Beispiel hier sind immer nur 2 Kommentarzeilen, aber ich habe auch größere Bereiche (die vorher unbekannt sind). Also kann ich auch nicht einfach nach test1() etc. suchen und dann sagen die nächsten 3 Zeilen noch mitnehmen.

Wie könnte man das mit Batch lösen?

Hoffentlich kann mir jemand helfen.

Liebe Grüße
Mitglied: bastla
19.07.2010 um 15:16 Uhr
Hallo peter8810 und willkommen im Forum!

Die Anweisung "Filtere alle Zeilen, die mit "//" beginnen" wäre in Batch ja einfach umzusetzen:
findstr /b "\/\/" Beispiel.txt
- aber woran ist konkret Beginn und Ende eines Blocks mit "unwichtigen" Zeilen zu erkennen?

Grüße
bastla
Bitte warten ..
Mitglied: peter8810
19.07.2010 um 15:35 Uhr
Hallo bastla!

Danke für die schnelle Rückmeldung und die freundliche Aufnahme!

Also: Wichtige Blöcke sind diese:

01.
//---- test() ------------------// 
02.
// 1. kommentarzeile            // 
03.
// 2. kommentarzeile            // 
04.
//------------------------------// 
05.
proc test()
Beginnend mit 2 Slash + 4 Bindestrichen + einem Leerzeichen + Text
bis
2 Slash + bestimmte Anzahl an Bindestrichen + 2 Slash

das "proc Text" befindet sich immer am Ende eines solchen Blocks und ich dachte mir das ich damit irgendwie einen Filter bauen kann, der genau von:

01.
"//---- Text 
02.
... 
03.
bis 
04.
... 
05.
proc Text"
geht. Ich bekomm mit 'findstr' immer nur eine komplette Analyse der Quelldatei hin. Also kein fange an zu suchen bei Muster1 (//----) bis Muster2 (proc ).

Bisschen kompliziert, hoffentlich kommt rüber was ich meine!

Grüße
peter8810

Edit: unwichtige Blöcke bzw. Teile sind halt der Rest. Hab falsch gelesen und andersrum geantwortet!
Bitte warten ..
Mitglied: bastla
19.07.2010 um 15:56 Uhr
Hallo peter8810!

Unter der Voraussetzung, dass es immer definierte Blöcke mit Beginn %Von% (inklusive) und Ende %Bis% (exklusive) - wie in den Zeilen 4 und 5 festgelegt - gibt und keine Sonderzeichen "<|>&" enthalten sind, versuch es mal so:
01.
@echo off & setlocal 
02.
set "Ein=Beispiel.txt" 
03.
set "Aus=Gefiltert.txt" 
04.
set "Von=//---- " 
05.
set "Bis=proc" 
06.
 
07.
del "%Aus%" 2>nul 
08.
set "Schreiben=" 
09.
for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "%Ein%"') do call :ProcessLine "%%j" 
10.
goto :eof 
11.
 
12.
:ProcessLine 
13.
echo\%~1|findstr /b /c:"%Von%">nul && set "Schreiben=True" 
14.
echo\%~1|findstr /b /c:"%Bis%">nul && set "Schreiben=" 
15.
if defined Schreiben >>"%Aus%" echo\%~1 
16.
goto :eof
In den Zeilen 2 und 3 können natürlich auch komplette Dateipfade verwendet werden. Falls auch die Zeile mit der %Bis%-Markierung noch geschrieben werden soll, die Zeilen 14 und 15 vertauschen.

Die verwendete Technik: Abhängig vom Zustand des "Schalters" %Schreiben% (gesetzt oder leer = "not defined") wird jede einzelne Zeile in die Zieldatei geschrieben, wobei ab einer Zeile, die mit dem in %Von% festgelegten String beginnt das Schreiben "eingeschaltet" und ab einer mit "%Bis%" beginnenden Zeile das Schreiben wieder "ausgeschaltet" wird.

Nach dem gleichen Prinzip, aber ohne Unterprogramm sähe das dann so aus:
01.
@echo off & setlocal 
02.
set "Ein=Beispiel.txt" 
03.
set "Aus=Gefiltert.txt" 
04.
set "Von=//---- " 
05.
set "Bis=proc" 
06.
 
07.
del "%Aus%" 2>nul 
08.
set "Schreiben=" 
09.
for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "%Ein%"') do ( 
10.
    echo\%%j|findstr /b /c:"%Von%">nul && set "Schreiben=True" 
11.
    echo\%%j|findstr /b /c:"%Bis%">nul && set "Schreiben=" 
12.
    if defined Schreiben echo\%%j 
13.
)>>"%Aus%"
[Edit] Mit "echo\" durchgängig für Leerzeilen vorgesorgt [/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: LotPings
19.07.2010 um 16:27 Uhr
Hallo bastla,
ich mag mich täuschen, aber bei deiner Version kommt doch die proc-Zeile nicht mit raus?

Du warst schneller, meine Version sah ähnluch aus.

01.
:: Peter8810.cmd:::::::::::::::::::::::::::::::::::::::::::::::::::::: 
02.
:: LotPings  administrator.de 2010-07-19 
03.
@echo off & Setlocal  
04.
Set Inp="Input.txt" 
05.
Set Out="output.txt" 
06.
If defined Flag Set "Flag=" 
07.
For /f "usebackq delims=" %%A in (%Inp%) Do Set "Line=%%A" & Call :ProcLine 
08.
Goto :eof 
09.
:ProcLine 
10.
Echo.%Line%| Findstr "^//-*.*(.*).-*//$" >NUL 2>&1 && Set Flag=Ok 
11.
If not defined Flag goto :Eof 
12.
>>%Out% Echo.%Line% 
13.
If /I "%Line:~0,4%" EQU "proc" Set "Flag="
Gruß
LotPings

Edit: damit ich nicht noch mehr Beulen von Bibers Doku-Keule kriege:
  • Die For Schleife verarbeitet alle Zeilen und gibt sie an die Sub ProcLine in der Variable Line weiter.
  • Die Zeile 10 stellt über eine RegularExpression fest, ob die Startbedingung gegeben ist und setzt die Var Flag
  • solange Flag gesetzt ist werden die Zeilen ausgegeben
  • wenn die ersten 4 Zeichen "proc" enthalten wird Flag zurückgesetzt.
*
Bitte warten ..
Mitglied: bastla
19.07.2010 um 17:01 Uhr
Hallo LotPings!
ich mag mich täuschen, aber bei deiner Version kommt doch die proc-Zeile nicht mit raus?
Hatte es zunächst so verstanden (und bin mir noch immer nicht ganz sicher), dass sie das auch nicht sollte, und dann nur beiläufig nachgereicht (durch Vertauschen der Zeilen zum Flag-Rücksetzen und Schreiben - in der ersten Version Zeilen 14 und 15 - wird auch die %Bis%-Zeile noch geschrieben) ...

Grüße
bastla
Bitte warten ..
Mitglied: peter8810
20.07.2010 um 08:48 Uhr
Hallo ihr beiden!

Ohne Witz: erstmal Respekt wie schnell ihr was hingezaubert habt! Vielen Dank!

Also momentan probiere ich den Code von bastla und muss feststellen das mein Zielordner mit jeder Menge Dateien gefüllt wird! Alles so kleine Fragmente der Quelldatei ohne Dateiendung und meist leer oder 2-3 Wörter der Quelldatei :D
Keine Ahnung warum. Im cmd kommen tausend Fehlermeldungen like: "kann Pfad nicht finden", "Syntaxfehler", "'xy' ist syntaktisch nicht verarbeitbar", "Befehl konnte nicht gefunden werden", etc.

Ich denke das liegt an der Quelldatei, da auch "=", "<", ">", "|", usw. vorkommen. Da muss ich mir noch was überlegen. Hätte auch schon eine Idee. Und zwar das ich vorher den Text umwandel, oder besser gesagt: für jedes "=" ein "xgleichx" (oder was anderes) hinschreibe (per batch oder so). Halt das Sonderzeichen durch Text/Buchstaben ausgetauscht werden und hinterher wieder zurück gewandelt werden damit es da keine Fehler gibt.

Mir gefällt deine Idee mit dem "schreiben" = true oder false. Ich glaub damit kann ich was anfangen. Blöd das ich nicht auf sowas komme!

Der Code von LotPings wirft keine Fehlermeldung auf den Bildschirm, allerdings passiert auch sonst nichts. Komisch! Das Skript startet, es dauert einen moment und dann beendet sich das cmd-Fenster. Ich habe lediglich bei Input und Output meine Datei angegeben und die Ausgabedatei.

Auch wenn es noch nicht ganz funktioniert hilft mir das schonmal super weiter.

Grüße
peter8810
Bitte warten ..
Mitglied: LotPings
20.07.2010 um 12:14 Uhr
Hallo Peter,

vorausgesetzt die Kommentare enthalten keine Sonderzeichen, sollte dies funktionieren

01.
:: Peter8810.cmd:::::::::::::::::::::::::::::::::::::::::::::::::::::: 
02.
:: LotPings  administrator.de 2010-07-19 
03.
@echo off & Setlocal  
04.
Set Inp="Input.txt" 
05.
Set Out="output.txt" 
06.
Type NUL >%Out% 
07.
If defined Flag Set "Flag=" 
08.
For /f "delims=" %%A in ( 
09.
  'Findstr /I "^//.*//$ ^proc" %Inp%' 
10.
    ) Do Set "Line=%%A" & Call :ProcLine 
11.
Pause 
12.
Goto :eof 
13.
:ProcLine 
14.
Echo.%Line%| Findstr "^//-*.*(.*).-*//$" >NUL 2>&1 && Set Flag=Ok 
15.
If not defined Flag goto :Eof 
16.
        Echo.%Line% 
17.
>>%Out% Echo.%Line% 
18.
If /I "%Line:~0,4%" EQU "proc" Set "Flag="
Mein Batch hatte keinen sichtbaren output, sondern schreibt nur in die per Out referenzierte Datei, hab ich geändert mit einer Pause.

Gruß
LotPings
Bitte warten ..
Mitglied: peter8810
20.07.2010 um 12:57 Uhr
Hi LotPings!

Danke für die Rückmeldung. Also dein Code funktioniert super solange keine Sonderzeichen vorkommen (wie du ja erwähnt hast). Leider kommen recht häufig welche vor... -_-

Dachte ja das man die ganz einfach durch Wörter ersetzen kann, aber das is doch alles komplizierter als ich mir das vorgestellt hab.
Wollte das so machen, dass Sonderzeichen (wie hier '|', '"')

01.
//---- test() ------------------// 
02.
// 1. kommentarzeile            // 
03.
// 2. kommentarzeile            // 
04.
// Text | Text "Text"           // 
05.
//------------------------------//
vorher durch Platzhalter "ersetzt" werden, die von der Batch dann auch normal verarbeitet werden können. Also:

01.
//---- test() ------------------// 
02.
// 1. kommentarzeile            // 
03.
// 2. kommentarzeile            // 
04.
// Text XSENKRECHTERSTRICHX Text XANFUEHRUNGSZEICHENXTextXANFUEHRUNGSZEICHENX           // 
05.
//------------------------------//
Und am Ende dann wiederherstellen zu den Ausgangszeichen. Dann würde doch auch kein Fehler entstehen wenn man deinen Code benutzt, oder?

Hab da was gefunden:

01.
set var=test 
02.
echo %var:t=r% 
03.
 
04.
Ergebins: resr
So in etwa nur im großen Stil versteht sich :D Bin noch am googlen und lesen, um es hinzubekommen. Hab da auch Probleme bei der FOR-Schleife in Batch. Wenn ich Variablen habe, die in der FOR-Schleife stehen, verändern sich diese nicht. Und bei echo %var% kommt nur raus "ECHO ist ausgeschaltet (off)". Damit das klappt muss ich doch nur am Anfang der Batch zum "@echo off" das "& setlocal" hinzufügen, oder brauch ich noch mehr, damit sich die Variable verändert?

Fragen über Fragen

Grüße
peter8810

P.S.: Bei deinem ersten Code ist überhaupt nichts passiert. Damit meinte ich auch das nichtmal eine Datei erstellt worden ist. Was mich halt schon gewundert hat, weil wenigstens eine leere Datei hätte erstellt werden müssen.
Bitte warten ..
Mitglied: LotPings
20.07.2010 um 13:20 Uhr
Zitat von peter8810:
So in etwa nur im großen Stil versteht sich :D Bin noch am googlen und lesen, um es hinzubekommen. Hab da auch Probleme bei
der FOR-Schleife in Batch. Wenn ich Variablen habe, die in der FOR-Schleife stehen, verändern sich diese nicht. Und bei echo
%var% kommt nur raus "ECHO ist ausgeschaltet (off)". Damit das klappt muss ich doch nur am Anfang der Batch zum
"@echo off" das "& setlocal" hinzufügen, oder brauch ich noch mehr, damit sich die Variable
verändert?
  • Wenn du mit Echo eine leere Variable ausgibst, interpretiert echo das als Aufforderung seinen Status auszugeben,
das kannst du mit {Echo.%LeereVar%} verhindern, dann kommt eine leere Zeile (statt Punkt gehen auch andere Sonderzeichen als Befeheltrenner)
  • Das Variablen in geklammerten Bereichen nicht aktualisiert werden fällt unter das lange Thema "DelayedExpansion" kann man mit SetLocal EnableDelayedExpansion und Benutzung von ! statt des % oder einem Pseudo Call mit verdoppelten %-Zeichen oder durch die Benutzung von Subs umgehen ( wie in meinem Batch)

P.S.: Bei deinem ersten Code ist überhaupt nichts passiert. Damit meinte ich auch das nichtmal eine Datei erstellt worden
ist. Was mich halt schon gewundert hat, weil wenigstens eine leere Datei hätte erstellt werden müssen.
Sehe ich auch so, zumal es hier mit deinem Beispiel-Text und auch mit Sonderzeichen (aber nicht im Kommentar) funktioniert hat.

Diese Version kommt zumindest auch mit <|> in Kommentaren klar:
01.
:: Peter8810.cmd:::::::::::::::::::::::::::::::::::::::::::::::::::::: 
02.
:: LotPings  administrator.de 2010-07-19 
03.
@echo off & Setlocal  
04.
Set Inp="Input.txt" 
05.
Set Out="output.txt" 
06.
Type NUL >%Out% 
07.
If defined Flag Set "Flag=" 
08.
For /f "delims=" %%A in ( 
09.
  'Findstr /I "^//.*//$ ^proc" %Inp%' 
10.
    ) Do Set "Line=%%A" & Call :ProcLine 
11.
Pause 
12.
Goto :eof 
13.
:ProcLine 
14.
Echo."%Line%"| Findstr "^.//-*.*(.*).-*//.$" >NUL 2>&1 && Set Flag=Ok 
15.
If not defined Flag goto :Eof 
16.
Set "Line=%Line:|=^|%" 
17.
Set "Line=%Line:<=^<%" 
18.
Set "Line=%Line:>=^>%" 
19.
        Echo.%Line% 
20.
>>%Out% Echo.%Line% 
21.
If /I "%Line:~0,4%" EQU "proc" Set "Flag="
Gruß
LotPings
Bitte warten ..
Mitglied: peter8810
20.07.2010 um 15:17 Uhr
Hiho,

der Code funktioniert super! Blöcke mit "//---- Text ... bis ... proc Text" werden rausgefiltert und in eine neue Datei geschrieben. Manchmal klappt es noch nicht ganz, aber das liegt an der Formatierung und den Sonderzeichen im Text. Da werd ich mir noch was ausdenken müssen.

Ein paar Fragen hab ich noch:

Zeile 8: In der For-Schleife wird die Inputdatei mit findstr durchsucht, richtig? Wird dann jede gefundene Zeile weitergegeben (mit dem Call) oder wie funktioniert das?
Zeile 14: Hier wird gesagt, das alles folgende geschrieben werden soll? Was bedeutet: >NUL 2>&1?

Vielen Dank für die Top Hilfe!
Bitte warten ..
Mitglied: LotPings
20.07.2010 um 17:29 Uhr
Zitat von peter8810:
der Code funktioniert super! Blöcke mit " ;---- Text ... bis ... proc Text" werden rausgefiltert
Schön wenn es klappt.
Das Flag wird gesetzt wenn eine Zeile mit
- anfängt und irgendwas Klammer auf irgendwas Klammer zu, beliebige Anzahl - und // folgt.
Zurückgesetzt nach einer Zeile diemit proc beginnt.

%<---->%
Ein paar Fragen hab ich noch:

Zeile 8: In der For-Schleife wird die Inputdatei mit findstr durchsucht, richtig?
Wird dann jede gefundene Zeile weitergegeben (mit dem Call) oder wie funktioniert das?
Ja, durch die Einklammerung in ' wird die Ausgabe des Findstring Befehls Zeile für Zeile an den Do Teil weitergereicht.
Einzelheiten kriegst du mit For /? aber das musst du dir mehrmals zu Gemüte führen bis es Sinn ergibt.

Zeile 14: Hier wird gesagt, das alles folgende geschrieben werden soll?
Wie oben erwähnt wird das Flag gesetztm ab jetzt beachten.
Was bedeutet: >NUL 2>&1?
Da diese Zeile ja nur ein Test ist, brauchen wir weder die normale Ausgabe >NUL noch wollen wir ggfs störende
Fehlermeldungen sehen, 2>&1 leitet die Fehlerausgabe um in die normale Ausgabe die ja schon im Scharzen Loch NUL versennkt wird.
Das nicht von dir erwähnte && führt den folgenden Befehl nur aus wenn der vorherige Findstr erfolgreich war.
Damit die Sonderzeichen diese Zeile 14 unbeschädigt passieren können habe ich beim Echo %Line% in Anführungszeichen gesetzt (und im findstr für diese zusätzlichen Zeichen einen Punkt eingfügt - wobei ich auch ein \" als escapetes Anführungszeichen hätte nehmen können)

Vielen Dank für die Top Hilfe!
Gern geschehen

Gruß
LotPings
Gruß
LotPings
Bitte warten ..
Mitglied: peter8810
21.07.2010 um 12:12 Uhr
Hallo!

Ich hab da wieder ein Problem:

Ich habe manchmal statt
01.
//---- Text ----//
auch
01.
//---- Text ----
also ohne Klammer ( ) und ohne doppel Slash am Ende.

Kann ich deinen Code so gestalten, das " ;---- Text ----", ---- Text(Text) ----", " ;---- Text ----" und " ;---- Text(Text) ----" gefunden wird?

Hab halt versucht, deinen findstr zu verändern, aber sowas wie entweder ein Leerzeichen, oder eine Klammer kann man wohl nicht suchen. Jedenfalls geht
01.
findstr "^.//-*.*[ (].*-*[./].$" Quelle.txt
nicht. Geht das überhaupt zwischen einem Leerzeichen und was anderem zu unterscheiden?

Grüße,
peter8810
Bitte warten ..
Mitglied: LotPings
21.07.2010 um 12:48 Uhr
Sorry Peter,
das sind jetzt ganz andere Anforderungen (auch kaum lesbare),
die dazu notwendigen komplexen RegEx überschreiten IMO die Fähigkeiten von Findstr. (ggfs. geht es mit Gnu grep)
Außerdem wird die RegEx so unscharf das auch ungewünschte Zeilen matchen.

Gruß
LotPings
Bitte warten ..
Mitglied: peter8810
21.07.2010 um 16:01 Uhr
Hi LotPings,

ok. Das habe ich mir nach stundenlangem probieren und lesen auch gedacht. Schade. Aber danke trotzdem

Grüße,
peter8810
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

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 ...