grimmkuechen
Goto Top

Dateiinhalte mittels Skript durchsuchen und herauskopieren

Ich möchte Hardwareinformationen, welche täglich in HTML Format für jeden HOST erstellt werden, zusammenfassen.

Hallo,

ich lasse täglich von jedem Host (ca. 100 Stück) einen AIDA32-Bericht auf eine Serverfreigabe erstellen.

Um die einzelnen Hosts besser vergleichen zu können, bräuchte ich ein HTML Dokument, welches die gewünschte Teilinformationen der Einzelnen Berichte auflistet. Dh:

Wenn ich z.B. lediglich die Informationen der Grafikkarten der jeweiligen Hosts möchte (diese stehen in den dazugehörigen AIDA32-HTML-Berichten), dann brauche ich ein Skript, welches die einzelnen Dokumente nach einem bestimmten Tag durchsucht, und dann die gefundene Zeilen in ein anderes HTML-Dokument (z.b. Vergleichsdokument.html) hineinkopiert.

Nachdem dieses Skript durchgeloffen ist, sollte ich eine Tabelle der Hosts mit den nötigen Informationen haben (HTML-Datei).


Wäre super wenn mir hierfür jemand einen Tipp geben könnte.

Grüße,
Gökhan


P.S.: Ich kann auch AIDA so umstellen, dass ich statt HTML Dateien ganz ormale TXT Dateien erstellen lassen kann. EVTL. ist das besser zu handhaben.

Content-Key: 123057

Url: https://administrator.de/contentid/123057

Printed on: April 29, 2024 at 13:04 o'clock

Member: godlie
godlie Aug 19, 2009 at 12:04:35 (UTC)
Goto Top
Hallo,

tja das ganze lässt sich mit Regual Expressions realsieren.
Evtl. kannst du AIDA auch dazu bringen XML auszugeben, dann wärs
leichtere das ganze aufzuarbeiten.
Member: GrimmKuechen
GrimmKuechen Aug 19, 2009 at 12:07:26 (UTC)
Goto Top
Hi,

Klar XML geht auch.
Allerdings kenne ich mich damit so gut wie gar nicht aus.

Gibt es da eine Tutorial o.ä. für Regular Expressions?


Grüße,
Gökhan

P.S.: Danke für die schnelle antwort ;)
Member: godlie
godlie Aug 19, 2009 at 12:19:12 (UTC)
Goto Top
Âlso wenn du XML rausbekommst dann tust dir da mit einem Parser wesentlich leichter.
Da XML ja struktiert ist, ist deren Aufarbeitung auch nciht wirklich so ein Problem.
Ich glaub da kannst sogar mit Auto-It rangehen evtl. machen.

Alternativ steht ein webserver mit php zur verfügung?
Denn mit VBS das ganze machen ginge zwar auch aber naja net grad mein Fall face-smile
Member: GrimmKuechen
GrimmKuechen Aug 19, 2009 at 12:33:19 (UTC)
Goto Top
Ich habe nun jede Menge XML Dokumente.
Ein Web Server mit PHP gibt es auch.
Member: M3rlin
M3rlin Aug 19, 2009 at 12:55:20 (UTC)
Goto Top
Oder man könnte es mit Powershell machen.
Die Ausgabe in eine txt Datei schreiben lassen, nach z.B. Grafikkarte filtern und dann convertto-html im powershell absetzen.
Änliches machen ich mit Eventlogfiles, wo ich die Fehler auslese und in eine HTML Datei auflisten lasse.

...in etwa so: http://www.benutzer.de/mit_Powershell_Datei_Durchsuchen.html

Gruß
M3rlin
Member: godlie
godlie Aug 20, 2009 at 08:07:35 (UTC)
Goto Top
hast du schon eine brauchbare lösung gefunden?
alternativ hab ich hier noch was in php rumliegen...
Member: GrimmKuechen
GrimmKuechen Aug 20, 2009 at 09:01:42 (UTC)
Goto Top
Guten Morgen,

ich habe mittlerweile den Ansatz: XML --> PHP
Aber noch keine Lösung geschrieben.

Wäre nett wenn du mir das PHP-Zeug zuschicken könntest.

Grüße,
Gökhan
Member: godlie
godlie Aug 20, 2009 at 10:01:36 (UTC)
Goto Top
Hallo,

was wirst du jetzt brauchen?
Ich hab mir das XML mal angesehen schön ist zwar was anderes aber naja...

Welche Bereiche willst du denn so haben?
Stell mal so ein ERgebniss ungefähr zusammen.
Member: GrimmKuechen
GrimmKuechen Aug 20, 2009 at 10:13:19 (UTC)
Goto Top
 
  <?xml version="1.0" encoding="ISO-8859-1" ?> 
- <Report>
+ <Page>
+ <Page>
+ <Page>
- <Page>
       <Title>Desktop</Title> 
       <Icon>92</Icon> 
       <MenuTitle>Anzeige</MenuTitle> 
       <MenuIcon>6</MenuIcon> 
        - <Group>
                  <Title>Desktop Eigenschaften</Title> 
                  <Icon>92</Icon> 
                  + <Item>
                  - <Item>
                      <Title>Auflösung</Title> 
                      <Icon>92</Icon> 
                      <Value>1024 x 768</Value> 
                     </Item>
                  + <Item>
                  + <Item>
                  + <Item>
                  + <Item>
                  + <Item>
                  + <Item>
          </Group>
         + <Group>
         + <Group>
  </Page>
</Report>


Soooo. ich hoffe dass es nun leserlich geworden ist ;)


Ich benötige den Auflösungswert.
Dh: In XML nach Auflösung suchen, und dann den Wert zurückgeben!

Ich habe insgesamt über 100 XMl Dateien.
Ich denke die beste Strategie wäre es, die nötigen XML-Informationen in eine NEUE XML Datei herüberzukopieren, und dann diese im Browser anzeigen zu lassen? Oder ?


Vielen Dank für deine Hilfe
Member: godlie
godlie Aug 20, 2009 at 11:28:20 (UTC)
Goto Top
Hallo,

es war ein wenig Anpassung und Testung nötig aber das dürfte dies machen was du brauchst:
Zur Erklärung diesen code in eine Php Datei dann einen Ordner Reports anlegen und das
die Reports alle dort rein kopieren.
Das Script parsed sie alle dann der Reihe nach durch.

error_reporting(E_ALL);

processReports("Desktop", "Reports/");  

function processReports($searchValue, $reportsPath) {
  $handle = opendir($reportsPath);
  while(false !== ( $file = readdir($handle))) {
  if($file != "." && $file != "..")  
    showInformation($searchValue,$reportsPath.$file);
  }
  closedir($handle);
}

function showInformation($searchValue, $xmlFile) {
  $xml = simplexml_load_file("Report.xml");  
  foreach($xml->xpath("/Report/Page") as $test )  
  {
    if($test->Title == "Übersicht")  
    {
      foreach($test->Group->Item as $element)
      {
        if($element->Title == "Computername")  
        $pcName = $element->Value;
      }
    }
    if($test->Title == $searchValue){
      foreach($test->Group->Item as $element) {
        if($element->Title == "Auflösung")  
        echo $pcName.'-'.$element->Title.' - '.$element->Value."<br />";  
      }
    }
  }
}

grüße
Member: GrimmKuechen
GrimmKuechen Aug 20, 2009 at 11:31:07 (UTC)
Goto Top
Vielen Dank ;)

werde es gleich testen.
nochmals danke für deine Mühen..


Grüße,
Gökhan