Jump to content

chris.m

Members
  • Gesamte Inhalte

    51
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von chris.m

  1. Hallo zusammen,

     

    habe ein kleines Problem ^^.

     

    beim erzeugen eines Logfiles vor 10 uhr habe ich ein problem mit der zeitangabe.

     

    der logfilename sieht vor 10 uhr so aus

     

    13022008_ 945_logname.log

     

    er läßt beim logfile die 0 weg. Was muss ich meiner batch datei mitgeben das er denn logfile so schreibt:

    13022008_0945_logfilename.log

     

     

    in der batch datei habe ich dieses angegeben

     

    set jahr=%date:~-4%

    set monat=%date:~-7,2%

    set tag=%date:~-10,2%

    set stunde=%TIME:~-12

     

    set stunde=%TIME:~-11,2%

    set minute=%TIME:~-8,2%

    set sekunde=%TIME:~-5,2%

    set date=%jahr%%monat%%tag%

     

    was muss ich ändern damit er auch die 0 von 09 uhr erkennt.

     

    Gruss

    Christian

  2. Hi Blub,

     

    habe es jetzt mal so eingefügt und muss sagen es funktioniert wunderbar.

     

    habe aber jetzt ein anderes Problem.

    Wie beim anfang beschrieben muss ich ihn nach mehreren Fehlern suchen lassen. Das mit dem Arry krieg ich irgendwie nicht hin.

     

    habe es auch mal im string "patrn" versucht mit oder also "|" aber irgendwie spuckt er mir nur eins aus (Beisp. patrn = "broken_cable|broken_conduit")

     

    Const ForReading = 1
    Const ForWriting = 2
    Const ForAppending = 8
    
    myName = WScript.ScriptFullName
    myPath = Left(myName, InStrRev(myName, "\"))
    
    strLogFile = mypath & "\" & "fehlerobjekte.txt"  'mypath
    
    
    Function RegExpTest(patrn, strng)
    RegExpTest = False
      Dim regEx, Match, Matches   ' Create variable.
    
      Set regEx = New RegExp   ' Create a regular expression.
    
      regEx.Pattern = patrn   ' Set pattern.
    
      regEx.IgnoreCase = True   ' Set case insensitivity.
    
      regEx.Global = True   ' Set global applicability.
    
      Set Matches = regEx.Execute(strng)   ' Execute search.
    
    bprint=0
      For Each Match in Matches   ' Iterate Matches collection.
    
    	if bprint=0 then
    	Wscript.Echo strng , boprint
    	Call WriteToLog(strLogFile, strng)
    	bprint=1
    	end if
    	RegExpTest = True
    
    
      Next
    
    End Function
    
    Sub WriteToLog(inFile, inText)
    
    Set objFile1 = objFSO.OpenTextFile(inFile, 8, True)
    objFile1.WriteLine(inText)
    objFile1.Close
    
    End Sub
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile(mypath & "\" & "session.txt", 1)
    Do Until objFile.AtEndOfStream
    strLine = objFile.ReadLine
     patrn = "broken_cable"
      	If RegExpTest (patrn, strLine) Then
      		Do Until RegExpTest ("Engineering Design|PLAN_", strLine)
      		   			strLine = objFile.ReadLine
      		Loop
     	End If
    Loop
    objFile.Close

     

     

    weißt du vielleicht wie ich das am besten mache das er nach mehreren sucht

     

    broken_cable ; broken_conduit und noch weitere.

     

    Gruss und Dank

    Chris

  3. Hallo Blub,

     

    also habe soweit jetzt alles geschafft was ich wolte. Jetzt habe ich nur ein Problem.

    Wenn er nach dem Fehler sucht findet er in auch und schreibt diesen in eine text datei.

     

    Wenn er den fehler gefunden hat sucht er anschliessend nach einem bestimmten string "Engenee..." aber diesen schreibt er nicht einmal sondern 2 mal in die datei. Weiß aber leider nicht warum.

     

    hast du eine Idee wieso. Habe das script und den logfile mal angehangen.

     

    hier auch mal da script

     

    Const ForReading = 1
    Const ForWriting = 2
    Const ForAppending = 8
    
    myName = WScript.ScriptFullName
    myPath = Left(myName, InStrRev(myName, "\"))
    
    strLogFile = mypath & "\" & "fo.txt"  'mypath
    
    
    Function RegExpTest(patrn, strng)
    RegExpTest = False
      Dim regEx, Match, Matches   ' Create variable.
    
      Set regEx = New RegExp   ' Create a regular expression.
    
      regEx.Pattern = patrn   ' Set pattern.
    
      regEx.IgnoreCase = True   ' Set case insensitivity.
    
      regEx.Global = True   ' Set global applicability.
    
      Set Matches = regEx.Execute(strng)   ' Execute search.
    
      For Each Match in Matches   ' Iterate Matches collection.
    
    		Wscript.Echo strng
    	Call WriteToLog(strLogFile, strng)
    
    	RegExpTest = True
    
    
      Next
    
    End Function
    
    Sub WriteToLog(inFile, inText)
    
    Set objFile1 = objFSO.OpenTextFile(inFile, 8, True)
    objFile1.WriteLine(inText)
    objFile1.Close
    
    End Sub
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile(mypath & "\" & "session.txt", 1)
    Do Until objFile.AtEndOfStream
    strLine = objFile.ReadLine
     patrn = "broken_conduit"
     	If RegExpTest (patrn, strLine) Then
      		Do Until RegExpTest ("Engineering Design|PLAN_", strLine)
      		   			strLine = objFile.ReadLine
      		Loop
     	End If
    Loop
    objFile.Close
    
    
    'generadet by Chris.M an Vladi. P.

    test.vbs.txt

    objekte.txt

  4. Hallo zusammen,

     

    habe ein nettes anliegen wo ihr mir vielleicht helfen könnt. Bin nicht so erfahren was das scripten mit batch oder vbs betrifft.

     

    Habe einen Logfile den ich gerne nach bestimmten sachen auslesen lassen möchte. mit batch geht es via Findstr.

     

    Aber er soll mir nicht nur die zeile ausspucken wo das wort z.b "broken_cable" auftaucht sondern auch die nächst mögliche Zeile wo Plan_2345 drin steht.

     

    Es geht sich darum das er in dem Logfile in eine Zeile einen fehler namens broken_conduit schreibt und in der nächst möglichen zeile steht die alternative drin wo der Fehler entstanden ist.

     

    [09.01.2008 22:33:14] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|Engineering Design|PLAN_42380" - Projekt/Planung "521197 - Ausbau EFH Adenberg, Rafz": Merge durchgeführt.
    1199914394:306	design_clerk using_alternative: {dc!21988}
    [09.01.2008 22:33:31] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|Engineering Design|PLAN_42385" - Projekt/Planung "NVM_520829 - Bergdietikon, Waldeggstr. 6, Nb. EFH": Merge durchgeführt.
    1199914411:196	design_clerk using_alternative: {dc!21990}
    **** Warnung: Nach dem Änderungsaustausch hat das System den folgenden Datenfehler erkannt:
    
    Unterbrochener Trassenverlauf des Rohres.
    
    Korrigieren Sie bitte das Rohr.
        mit!mit_manager!post_merge_error_detected(error_type=:broken_conduit, error_description="Unterbrochener Trassenverlauf des Rohres.", cleanup_description="Korrigieren Sie bitte das Rohr.")
    **** Warnung: Nach dem Änderungsaustausch hat das System den folgenden Datenfehler erkannt:
    
    Unterbrochener Trassenverlauf des Kabelstücks.
    
    Korrigieren Sie bitte das Kabelstück.
        mit!mit_manager!post_merge_error_detected(error_type=:broken_cable, error_description="Unterbrochener Trassenverlauf des Kabelstücks.", cleanup_description="Korrigieren Sie bitte das Kabelstück.")
    [09.01.2008 22:33:45] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|Engineering Design|PLAN_42392" - Projekt/Planung "NVM_521007 - Engstringerstr. 29, Abb. mit Wiederaufbau": Merge durchgeführt.
    1199914425:337	design_clerk using_alternative: {dc!21994}
    [09.01.2008 22:33:51] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|Engineering Design|PLAN_42420" - Projekt/Planung "NVM_519547 - Bennwil,Eichholzstr.1+4,Abbr.F": Merge durchgeführt.
    1199914431:306	design_clerk using_alternative: {dc!21996}

     

     

    in diesem ausschnitt könnt ihr sehen was ich meine. Er schreibt da ja was von broken_cable und als nächste kommt dann die PLAN_42392

     

    Da ich dieses beispiel schonmal hier habe muss es auch für den Fehler klappen der nicht die PLAN_..... direkt drunter stehen hat. wie hier "broken_conduit" da kommt der andere Fehler noch drunter

     

    das script sollte dann in logile so aussehen:

    mit!mit_manager!post_merge_error_detected(error_type=:broken_conduit, error_description="Unterbrochener Trassenverlauf des Rohres.", cleanup_description="Korrigieren Sie bitte das Rohr.")

    [09.01.2008 22:33:51] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|Engineering Design|PLAN_42420" - Projekt/Planung "NVM_519547 - Bennwil,Eichholzstr.1+4,Abbr.F": Merge durchgeführt.

     

     

    Wäre super wenn einer von euch vielleicht eine Lösung via batch oder vbs hätte. Werde noch weiter versuchen es selber hinzubekommen

  5. Hallo zusammen,

     

    haben auf der Arbeit ein Problem, immer wenn wir was aus unserer Applikation drucken mit Raster Daten im hintergrund, wird die datei im Spooler 99,5 MB groß,

     

    mein kollege hat vorhin einen Typ bekommen das er doch bitte mal die "Erweiterte Druckfunktionen aktivieren" deaktivieren soll.

     

    Nachdem er dies getan hat war die Datei klein. ^^

    Was macht die option "Erweiterte Druckfunktionen aktivieren" eigentlich, bzw wofür ist sie da?

     

    Kann mir dies einer erklären?

     

    Wo man diese Option findet

    drucker -> rechte maus drauf und auf eigenschaften -> registrierkarte "erweitert" -> das letzte was unten steht ^^

  6. Hallo Thumb

     

    deine version hört sich sehr gut an, aber es kommt folgendes problem

     

    er hat probleme

     

    Zeile 21

    Zeichen 7

    Fehler Index außerhalb des gültigen Bereichs: '[number: 1]'

     

    Dies steht in der Zeile:

    strContent__ = trim(strContent_(1)) & trim(strContent_(2))

     

    wenn ich aus der 1 eine 0 mache dann erkennt er die 2 nicht..

     

    Da ich mit VBS keine erfahrung habe kann ich dieses problem leider nicht lösen.

     

    habe im cmd fenster dies eingegeben

     

    script.vbs konflikte.log

  7. Hallo zusammen.

     

    Ich habe LOGFILES wo Konflikte auftretten, würde gerne denn LOGFILE nach den Zeilen mit den KONFLIKTEN suchen lassen.

     

    habe jetzt eine batch datei die dies tut.

    Jetzt was ich noch gerne hätte und eure hilfe bei bräuchte.

    Er schreibt mir ein LOG file mit der ganzen zeile wo der Begriff "Konflikt" steht.

     

    siehe:

    [24.10.2007 16:43:56] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|Engineering Design|PLAN_12889" - Projekt/Planung "487656 - 62_AUG_Rinaustr.": Konflikte gefunden, daher kein Merge möglich.

     

    was mir anstrebt ist das er mir nur dies aus der Zeile stehen läßt im logfile

     

    |Engineering Design|PLAN_12889 487656 - 62_AUG_Rinaustr.

     

    und den rest rauslöscht.

    Habe gedacht würde vielleicht mit Replace gehen, aber wie ich gelesen habe ist das nur für Dateien.

    Weiß einer wie ich das bewerkställigen kann das er mir alles andere rauslöscht bis auf das was ich haben will?

     

     

    REM ~~ Setzen des Logfile Namen ~~

     

    set name=konflikte.log

    set /P logfile=

    set pfad=\\hptanas01\PTAAM\Operations\Logs

     

    REM ~~ Setzen des Logfile Pfades ~~

     

    SET LOG="C:\temp\%timest%_%name%"

    date /T >> %LOG%

    time /T >> %LOG%

     

    FINDSTR /I "Konflikte" %pfad%\%logfile% >> %LOG%

  8. hallo Biber,

     

    der erste fall ist der den ich probiere zu erschaffen ;o)

     

    wie gesagt er soll beim lösch erfolg deer dateien im Ordner eine neuen schritt. (datei aufrufen).

     

    der 2fall wie du schon sagst wäre käse.

     

    also du meinst so in der art oder?

     

    if %leer% equ 1 call c:\.....\hallo.bat (

    echo %Date% %Time% %ordner%: Loeschen_erfolgreich_beendet.>>%LOG%

    echo Loeschen_erfolgreich_beendet.

    ) else (

    echo %Date% %Time% Loeschen_nicht_erfolgreich_beendet. >>%LOG%

    echo Loeschen_nicht_erfolgreich_beendet.

    )

  9. Hallo zusammen.

     

    Hoffe das einer eine Lösung für mein Problem kennt.

     

    habe eine batch datei erstellt die Dateien löscht und in einen Logfile reinschreibt das der löschvorgang erfolgreich ist.

     

    Nun zum Problem:

    Möchte gerne wenn die Dateien gelöscht wurden sind das eine andere batch datei ausgeführt wird.

    Weiß jemand wie ich es hinkriege das die batch datei das logfile auf dem eintrag erfolgreich schaut und dann die nächste Datei startet.

     

    Grund ist will einen prozess automatisieren der den Ordner löscht und dann ein skript startet das in diesen Ordner neue Dateien erstellt.

     

    Das ist das Skript bis jetzt

     

    set name=loeschen.log

    set ordner=C:\temp\test\

    Set LOG="C:\temp\%timest%_%name%"

    date /T >> %LOG%

    time /T >> %LOG%

     

    REM ~~ Befehl zum löschen ~~

     

     

    del %ordner%\*.* /q /s >> %LOG%

     

    echo ----------------------------------------------------------------------------

    echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    echo ----------------------------------------------------------------------------

     

    REM ~~ Kontrolle ob löschen erfolgreich war ~~

     

    set leer=1

    FOR /F "delims=" %%i in ('dir /b %ordner%') do if not [%%i] equ [] set leer=0

    REM Ausgabe in Logfile

    if %leer% equ 1 (

    echo %Date% %Time% %ordner%: Loeschen_erfolgreich_beendet.>>%LOG%

    echo Loeschen_erfolgreich_beendet.

    ) else (

    echo %Date% %Time% Loeschen_nicht_erfolgreich_beendet. >>%LOG%

    echo Loeschen_nicht_erfolgreich_beendet.

    )

  10. Sowas in der Art ist schon nicht schlecht aber suche was was ich Lokal selber auf einem Server ablegen kann.

     

    und von einem Firmen netz aus kontrollieren kann.

     

    Die Seite die ich kontrollieren will ist auf einem Server in Indien und gehört mit zu dem Projekt was wir hier haben. Aber wir haben hier keine kontrolle auf diesen Server, deswegen der Verfügbarkeits check.

     

    Desweiteren haben wir auch hier (wo ich bin) auch Server die wir kontrollieren und in einem Firmen netz hängt.

     

    Der Kunde mit dem wir das Projekt haben hat ein eigenes Firmen netz wo wir unsere server aufgestellt haben.

     

    Die User des Kunden nutzen nun diese eine Seite in Indien und wir wollen halt regelmäßig kontrollieren das die Seite verfügbar ist für den Kunden.

     

    Der hacken ist halt das der Kunde den ICMP (Ping) nicht erlaubt aus seinem Firmen netz. Deswegen suche ich eine Lösung über einen anderen WEG wie zum beispiel den PING über http. Wenn dies möglich ist.

  11. Hallo zusammen,

     

    habe eine kleine Frage, vielleicht kann mir jemand weiter helfen.

     

    Ich muss die Verfügbarkeit einer Seite die übers Internet zu erreichen ist überprüfen.

     

    Es muss in 30 min bis 1 Std. abständen sein. Es wäre ja kein Problem wenn der Ping befehl erlaubt wäre, aber leider ist er unterbunden und der Kunde wird diesen auch nicht Freischalten.

     

    Gibt es noch eine andere Möglichkeit dieses zu überprüfen?

     

    Gruss

    Chris

×
×
  • Neu erstellen...