Zum Inhalt springen

Maulwurf_der_Schlaue

Mitglieder
  • Gesamte Inhalte

    801
  • Benutzer seit

  • Letzter Besuch

Beiträge von Maulwurf_der_Schlaue

  1. Hi ryoorox,

    wegen deinem Problem mit der Registry - per Batch - zu analysieren und entsprechende Keys anschließend zu löschen.

    Hier ein Lösung an welcher ich in letzter Zeit gebastelt habe, war gar nicht so einfach ;)

    [Hinweis]

    Das Skript manipuliert die Windows-Registrierungsdatei, Daten werden unwiderruflich gelöscht.

    Das Skript muss aus Sicherheitsgründen noch angepasst werden damit Daten endgültig gelöscht werden.

    Wer das Skript dementsprechend ändert ist sich bewusst was er macht!

    reg_analyzer.bat


    @echo off
    setlocal ENABLEDELAYEDEXPANSION
    CLS

    rem ******************************************************************
    rem ** Einstellungen koennen hier vorgenommen werden ! START **
    rem ******************************************************************
    set suchdatei=suche.txt
    set regfile=reg.tmp
    set trefferdatei=treffer.txt
    set tmptreffer=treffer.tmp
    rem ******************************************************************
    rem ** Einstellungen koennen hier vorgenommen werden ! ENDE **
    rem ******************************************************************

    if EXIST %trefferdatei% (del %trefferdatei%)
    if EXIST %tmptreffer% (del %tmptreffer%)
    if EXIST %regfile% (del %regfile%)

    echo.
    echo ??????????????????????????????????????????????????????????????????
    echo ?? Durchsucht Windows-Registry nach gewunschten Suchbegriffen ??
    echo ??????????????????????????????????????????????????????????????????

    for /F "delims=/" %%a in ('ver') do (
    if NOT "%%a" == "Microsoft Windows [Version 6.0.6001]" (
    echo.
    echo ??????????????????????????????????????????????????????????????????
    echo ?? Achtung: Dieses Skript basiert auf Windows Vista SP1 ??
    echo ?? ??
    echo ?? Sie scheinen eine andere Betriebssystemversion zu verwenden. ??
    echo ?? Es wird empfohlen das Skript NICHT auszufuehren. ??
    echo ??????????????????????????????????????????????????????????????????
    echo ?? Schliessen Sie das Fenster einfach um das Skript zu beenden, ??
    echo ?? anderfalls wird das Skript die Ausfuehrung fortsetzen. ??
    echo ??????????????????????????????????????????????????????????????????
    PAUSE
    )
    )

    echo.
    echo Suchbegriffe sind:

    for /F "" %%i in (%suchdatei%) do echo - '%%i'

    echo.
    echo ??????????????????????????????????????????????????????????????????
    set regkey=HKLM

    :next

    if EXIST %regfile% (del %regfile%)
    echo.

    echo Exportiere Registry-Struktur !regkey! ...
    reg export !regkey! %cd%\%regfile%

    if NOT EXIST %regfile% (
    echo.
    echo ??????????????????????????????????????????????????????????????????
    echo ?? Achtung: Datei %regfile% konnte nicht erstellt werden? ??
    echo ?? ??
    echo ?? - Schreibberechtigung in %cd%\ vorhanden? ??
    echo ?? - Berechtigung zum oeffnen des Registry-Editors? ??
    echo ??????????????????????????????????????????????????????????????????
    echo.
    goto Ende:
    )

    echo Suche in !regkey! laeuft...

    for /f %%a in (%suchdatei%) do (
    FIND /I "%%a" %regfile% >> %tmptreffer%
    )

    set MinEinTreffer=0
    for /f "tokens=1,2 delims=/" %%a in (%tmptreffer%) do (
    set Wert=%%a

    if "!Wert:~0,1!" == "[" (
    echo "!Wert:~1,-1!" >> %trefferdatei%
    set MinEinTreffer=1
    )

    )
    set Wert=
    echo Suche in !regkey! abgeschlossen.

    if "!regkey!" == "HKLM" (
    set regkey=HKCU
    goto Next:
    )
    if "!regkey!" == "HKCU" (
    set regkey=HKCR
    rem *** HKEY_CURRENT_ROOT (HKCR) kann aus unbekannten Grund
    rem *** nicht ausgewertet werden, vllt. bin ich auch
    rem *** zu ungeduldig aber 5 Minuten warten ist zu lang
    rem goto Next:
    )
    if "!regkey!" == "HKCR" (
    set regkey=HKU
    goto Next:
    )
    if "!regkey!" == "HKU" (
    set regkey=HKCC
    goto Next:
    )

    echo.
    echo Suche komplett abgeschlossen.
    echo.

    del %regfile%
    del %tmptreffer%

    if "!MinEinTreffer!" == "1" (
    echo Trefferdatei wurde geoeffnet.
    notepad %trefferdatei%

    echo.
    echo ???????????????????????????????????????????????????????????????????????????
    echo ?? ??
    echo ?? WARNUNG: Registry-Einträge werden geloescht, weiter auf eigene Gefahr ??
    echo ?? ??
    echo ?? WARNUNG: Registry-Einträge werden geloescht, weiter auf eigene Gefahr ??
    echo ?? ??
    echo ?? WARNUNG: Registry-Einträge werden geloescht, weiter auf eigene Gefahr ??
    echo ?? ??
    echo ???????????????????????????????????????????????????????????????????????????
    echo.
    Pause

    rem for /F "delims=@" %%a in (%trefferdatei%) do (
    rem echo Loesche '%%a'...
    rem reg delete %%a /f
    )
    ) ELSE (
    echo Keine Treffer gefunden!
    )

    echo.
    echo ??????????????????????????????????????????????????????????????????
    echo ?? Durchsuchen der Windows-Registry abgeschlossen ??
    echo ??????????????????????????????????????????????????????????????????
    :Ende

    set suchdatei=
    set regfile=
    set trefferdatei=
    set tmptreffer=
    set Wert=
    set MinEinTreffer=
    set regkey=
    [/PHP]

    suche.txt

    [PHP]
    Python

    (Pro Zeile ein Suchbegriff; Groß/Kleinschreibung ist egal)

    Hoffe das es Fehlerfrei ist, bei mir hat es jedenfalls ohne Probleme funktioniert.

  2. Hallo,

    hier der Codeschnipsel.

    
    set YearMonth=%date:~3,2%%date:~-4%
    
    ...
    
    for /F %%a in (dateien.txt) do (
    
      if exist "%%a" (
    
        echo Datei: '%%a' umbenennen in '%YearMonth%_%%a' ...
    
        ren "%%a" "%YearMonth%_%%a"
    
      ) ELSE (
    
        echo Datei: '%%a' war nicht vorhanden!
    
      )
    
    )
    
    ...
    
    set YearMonth=
    
    
    die Dateien.txt enthält folgenden Inhalt
    
    datei1.jpg
    
    datei2.pdf
    
    
    Somit wird aus
    
    datei1.jpg   =>   012009_datei1.jpg
    
    datei2.pdf   =>   012009_datei2.pdf
    
    

  3. Hallo,

    ja habe ich :)

    Druchlaufe für alle Dateien eine Schleife (FOR /?)

    und lasse in deren Bereich die Rename-Funktion (RENAME /?) ausführen.

    Ich weiß ist etwas dünn, aber schau Dir einfach mal die Hilfen dazu an.

    Wenn noch fragen sind helf ich Dir gerne, wenn ich auch noch Zeit übrig habe

    geb Ich Dir auch Codeschnipsel ;)

  4. Hallo,

    [...]Wenn ich die 1 durch eine Programmvariable ersetze, ( die heisst in diesem Beispiel

    TAGESANZAHL),dann funktioniert das Statement nicht.

    [...]

    Geht es wenn Du schreibst:

    
    EXEC SQL 
    
    SELECT DATE(:DATUM-DB2-FORMAT)+ [B][COLOR="DarkRed"]:[/COLOR][/B]TAGESANZAHL DAY 
    
    INTO :DATUM-DB2-RUECKGABE 
    
    FROM SYSIBM.SYSDUMMY1 
    
    END-EXEC 
    
    

    (Doppelpunkt vor dem Wort 'Tagesanzahl'

    In deinem Ursprungspost fehlt dieser, ich weiß nicht ob es einfach nur ein Tippfehler war.

  5. Hallo,

    [...]

    Außerdem war gesagt, dass VBS sein muß.

    Hallo,

    nein muss zwingend mit vbs sein, das ist ja mein Problem:D!

    [...]

    Entschuldigung da hab ich ein "nicht" gelesen wo keines war :)

    @Maulwurf

    1. warum braucht man für den for-Befehl Windows ?

    2. dieser Befehl iteriert über eine Menge von Dateien, nicht über den Inhalt einer Datei [...]

    zu 1) Ich wollte damit nicht ausdrücken das man für den for-Befehl Windows braucht, ich wollte damit sagen wenn man es hat sollte der Befehl dabei sein und man kann Ihn hierzu verwenden.

    zu 2) Der Befehl kann auch durch den Inhalt einer Datei iterieren und somit wäre er ein guter Kandidat für die Lösung des Problems wenn es nicht in VBS gelöst werden müsste.

  6. Hallo,

    [...]

    
    EXEC SQL                                           
    
       SELECT DATE(:DATUM-DB2-FORMAT)+ TAGESANZAHL DAY 
    
       INTO   :DATUM-DB2-RUECKGABE                     
    
       FROM SYSIBM.SYSDUMMY1                           
    
    END-EXEC
    
    
    [...] Kann man bei Cobol überhaupt Variablen in SQL Statements Verwenden, oder ist das unmöglich ? [...]
    Du hast doch schon eine Variable in Verwendung
    :DATUM-DB2-FORMAT
    deshalb verstehe ich nicht was Du mit der Frage meinst. Geht es denn wenn du
    :TAGESANZAHL
    statt
    :TAGESANZAHL

    schreibst?

    Dann hab ich das auch mal versucht allerdings mit einer SQL-Datenbank.

    Ich habe nicht mit "DAY" gearbeitet sonder mit "+1 00:00:00", entspricht einem Tag. Die Zahl "1" solltest Du dann ersetzten können.

    Achtung da gibt es eine "Grenze" von 99 Tagen, zumindest bei mir ist das so.

  7. Hallo,

    wenn es nicht von Basic abhängt und Du unter Windows arbeitest kann ich Dir den FOR-Befehl empfehlen.

    Start->Ausführen->CMD

    dann "for /?" ohne "" für Hilfe zum Befehl eingeben.

    Mit FOR die Datei1 durchlesen und den Echo-Befehl in Datei3 umleiten.

    Anschlließend mit FOR die Datei2 durchlesen und den Echo-Befehl in Datei3 umleiten. Schon sind beide Dateien in Datei3 vereint.

    Hinweis: Datei3 darf vor beginn nicht exisiteren da das Umleiten mit ">>" immer zum Anfügen der Datei führt.

  8. nAbend,

    sind den alle Updates eingespielt.

    Schon auf Viren etc. geprüft.

    Funktioniert das Netzwerk denn, abgesehen von diesem Fenster?

    Ja mir ist bewusst das dieser Beitrag nur mit Internet zustande kommt, das heißt nicht das es an besagten PC erfasst wurde

    Ich habe Vista schon seit es das gibt und bisher hatte ich keine solchen Probleme.

    Ist das WLan oder Kabelgebundenes Netzwerk?

  9. Hallo,

    gibt es eine möglichkeit die meldungen erst ganz am ende zusammengefasst in einem fenster anzeigen zu lassen?

    ja, statt dem START-Befehl schreibst Du in eine Datei.

    Datei 2 (pinger.bat):

    
    ...
    
    set meldung=C:\meldung.bat
    
    [COLOR="Red"]set report=C:\report.txt[/COLOR]
    
    ...
    
    for /f %%i in (%host%) do (
    
    ...
    
        if exist %pingsave% (
    
           for /f %%a in (%pingsave%) do (
    
              if %%a == 0 (              
    
    [COLOR="Red"]rem             start %meldung% %%i
    
                   echo %%i >> %report%[/COLOR]
    
              ) 
    
           ) 
    
           erase %pingsave%
    
        ) else (
    
           echo Datei %pingsave% nicht gefunden.
    
        )   
    
    )
    
    [COLOR="Red"]
    
    start %meldung% %report%[/COLOR]
    
    goto start
    
    
    EXIT
    
    
    Die Meldung.bat wird umgebaut das es alle Zeilen dieser Datei ausgibt, also mit einer For-Schleife. Hinweis, die Datei welche sich hinter %report% versteckt muss auch gelöscht werden weil sonst neue Einträge angefügt werden. Das Löschen der Datei in %report% ist oben nicht eingebaut, das kannst Du selber an passender Stelle einfügen.
    [...] gibt es eine möglichkeit ein paar sachen in der textdatei auszukommentieren wie in versch. programmiersprachen zum beispiel? 127.0.0.1 127.0.0.2 //127.0.0.3 <- auskommentiert 127.0.0.4 [...]
    Kannst Du schon. Einfach die Datei wie folgt aufbauen
    
    ;127.0.0.1;Termina1
    
    ;127.0.0.2;Terminal2
    
    //;127.0.0.3;Terminal3 <- auskommentiert
    
    
    jetzt kannst Du mit 3 Tokens arbeiten und "DELIMS=;" und schon kannst Du per IF die "Kommentare" überlesen, in diesem Fall die "//"-Zeichen.
    
    for /F "tokens=* delims=;" %%a IN (%1) do ( if not '%%a' == '//' ( echo ... ) )
    
    

    (%%a ist Kommentarzeichen; %%b ist IP; %%c ist Terminalname)

    Hoffe das funktioniert jetzt auch alles so :), habe leider keine Zeit es selber zu testen.

  10. Hallo,

    Habe die Daten in dem IMG-Link drangehängt....welche SQL Befehle hast du hier genommen??

    Du hast das ERM angehängt und da hab ich nur einen Blick "draufgeworfen" :).

    Daten habe ich mir nur ausgedacht um Dir zu zeigen was ich denke was rauskommen soll, natürlich mit den echten Daten die Du in den Tabellen hast.

    Ops, Du hast gar keine Daten, richtig?

    Also wenn Du das Problem zerlegst solltest Du es schaffen.

    Wenn nicht sag mir einfach wo das Problem bei den Teilaufgaben liegt die ich oben schon geschrieben habe, ich versuche Dir so gut es geht zu Helfen.

  11. Hallo,

    ich kenne das Problem.

    In der Arbeit macht der Internet Explorer 7 *schäm* genau das gleiche.

    (Dürfen kein FF verwenden, fragt mich nicht warum)

    Laut einer Notiz in unserem Supportsystem soll es helfen das Benutzerprofil zurück zusetzten (Domäne).

    Hab das aber noch nie gemacht und der IE fragt auch nur einmal nach wenn ich ins Internet möchte, Intranet ist davon nicht betroffen. Deswegen stört es mich nicht.

    Hoffe das Hilft :)

  12. Hallo,

    [...]

    1. Gebe für jeden Vorgesetzen (Employees) den Umsatz des Jahres 1996 (Summe der Umsätze der direkt untergeordneten Employees) und den Jahresbonus von 0.01% des Umsatzes vom Jahr 1996.

    Ich würde zuerst mal nur selektieren wer alles Vorgesetzter ist.

    Dann Pro Vorgesetzten die Mitarbeiter ermitteln.

    Seperat würde ich jetzt versuchen einfach für jeden Mitarbeiter ausgeben zu lassen welche Umsätze diese gemacht haben.

    Diese Ergebnisspalte dann in einer zweite ausgeben nur mit 0,01 multipliziert.

    Du musst hier vermutlich mit SUBSELECT arbeiten um die Untermengen bilden zu können.

    Ergebnis, Beispiel:

    
    #   vorgesetzer-name          Umsatz-1996        jahresbonus
    
    1   Joe Doe                   13000              13000*0.01 (Berechnet natürlich )
    
    2   Huber Doe                 40000              40000*0.01 (Berechnet natürlich )
    
    [/code]
    
    
    
    
    
    
    
    [...] 2. Gebe für alle Vorgesetzten (Employees) das Durchschnittsalter der direkt untergeordneten Mitarbeiter (Employees) aus.[...]
    Hier brauchst Du aus Teil 1 wieder nur die Vorgesetzten. Jetzt alle Mitarbeiter (Alter) im Durchnschnitt für diesen Ausgeben. Ergebnis, Beispiel:
    [code] # vorgesetzer-name durch.-alter-mitarbeiter 1 Joe Doe 34 2 Huber Doe 40

    Hoffe ich konnte Dir helfen.

    Ansonsten brauch ich Daten damit ich das "ausprobieren" kann :)

    "Theoretisieren" ist nicht so mein Ding :D

    [edit] @flashpixx hab ich nicht gesehen deinen Post hier vor 7 Minuten, hab so lang gebraucht mit "theoretisieren" ^^

  13. Hallo,

    nun wählst Du "Vom Internet Explorer verwendete Add-Ons".

    In der Spalte Status siehst Du ob das entsprechende Add-On Aktiviert (verwendet) oder Deaktiviert (nicht verwendet) ist.

    Du kannst ja mal alles Deaktivieren und dann prüfen ob die Meldung noch kommt und dann eins nach dem anderen wieder aktivieren.

    (Mach vorher Bildschirmabdrücke (Screenshots) und speichere diese damit Du weißt was vorher eingestellt war)

    Vllt kommst Du so drauf welches Add-on zu Problemen führt.

  14. Hallo,

    hast du die "klassische" Listenansicht in der Systemsteuerung oder die Kategorieansicht?

    "Klassische Ansicht"

    Start->Systemsteuerung->Internetoptionen->Reiter Programme->Add-Ons verwalten.

    "Kategorieansicht"

    Start->Systemsteuerung->Netzwerk- und Internetverbindungen->Internetoptionen (rechts)->Reiter Programme->Add-Ons verwalten.

    Hoffe das hilft Dir, wenn nicht nochmal melden :)

  15. Hallo ryoorox,

    dazu brauchst du 3 Dateien

    1. Datei: Liste mit IP-Adressen oder Namen (pro Zeile eine IP)

    2. Datei: Startet Pings

    3. Datei: Startet Meldungsdialog

    Datei 1:

    
    127.0.0.1
    
    www.google.de
    
    www.sollteesnichtgeben.de
    
    
    Datei 2 (pinger.bat):
    
    @echo off
    
    cls
    
    
    set host=C:\ipliste.txt
    
    set pingsave=C:\tmp.txt
    
    set meldung=C:\meldung.bat
    
    
    echo ====================
    
    echo Terminalueberwachung
    
    echo ====================
    
    echo.
    
    echo  Abbruch mit STRG+C
    
    echo.
    
    echo ====================
    
    
    if exist %pingsave% (
    
        erase %pingsave%
    
    )
    
    
    :start
    
    
    for /f %%i in (%host%) do (
    
        echo Pinge %%i ...
    
        ping -n 1 %%i | find /C "Antwort" >> %pingsave%
    
    
        if exist %pingsave% (
    
           for /f %%a in (%pingsave%) do (
    
              if %%a == 0 (              
    
                 start %meldung% %%i
    
              ) 
    
           ) 
    
           erase %pingsave%
    
        ) else (
    
           echo Datei %pingsave% nicht gefunden.
    
        )   
    
    )
    
    
    goto start
    
    
    EXIT
    
    
    datei 3 (meldung.bat):
    
    @echo off
    
    CLS
    
    color C
    
    echo.
    
    echo Terminal %1 is DOWN!
    
    echo Terminal %1 is DOWN!
    
    echo Terminal %1 is DOWN!
    
    echo.
    
    PAUSE
    
    EXIT
    
    

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...