- 12V Akku mit 280 Ah bauen         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: script für chkdsk Ergebnis?

  1. #1
    HaWe
    Gast

    script für chkdsk Ergebnis?

    Anzeige

    Powerstation Test
    hallo,
    gibt es ein script für die Anzeige vom letzten chkdsk Ergebnis (z.B. über Notepad etc.)?
    (Windows 7 64 prof)

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.645
    Hallo,

    noch nie was davon gehört. Du kannst aber eine Batch schreiben, darin CHDKDSK aufrufen und die Ausgabe in eine Datei (z.b. ergebnis.txt) umleiten. Dann kannst Du jederzeit auf das letzte Ergebnis zugreifen.

    MfG

  3. #3
    HaWe
    Gast
    Zitat Zitat von Moppi Beitrag anzeigen
    Hallo,

    noch nie was davon gehört. Du kannst aber eine Batch schreiben, darin CHDKDSK aufrufen und die Ausgabe in eine Datei (z.b. ergebnis.txt) umleiten. Dann kannst Du jederzeit auf das letzte Ergebnis zugreifen.

    MfG
    das geht leider nicht (soweit ich weiß), wenn ich ein gesperrtes Laufwerk wie c: überprüfen will, was dann erst beim (d.h. kurz vor dem) erneuten Windows-Neustart ausgeführt wird: darum geht es mir vor allem...
    chkdsk c: /F /R /B
    oder wie machst du das genau?

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.645
    Ich habe sowas nie gebraucht. Und wenn, früher, hab ich es so gemacht, wie ich geschrieben hab.
    In Windows wird das Prüfergebnis aber in einem "CHKDSK-Log" bzw. "CHKDSK-Protokoll" gespeichert. Das kann man nachträglich einsehen. Mal im Netz suchen. Suchbegriffe: "CHKDSK-Log" "CHKDSK-Protokoll" einsehen

    Ich kann Dir aber nicht sagen, in welchen Dateien das dann steht. Aber aus Zeiten mit Visual Basic Weiß ich, dass man leicht auf viele windowsinterne Sachen zugreifen kann, mindestens auf die Systemregistrierungseinträge. Da Du ja den C++-Builder im Gange hast, könnte man sicher darüber auch was machen, da man die Ergebnisse auch über die windowsinternen Tools ansehen kann, wie Du bei den Suchergebnissen s.o. sehen wirst.

    MfG

  5. #5
    HaWe
    Gast
    Zitat Zitat von Moppi Beitrag anzeigen
    Ich habe sowas nie gebraucht. Und wenn, früher, hab ich es so gemacht, wie ich geschrieben hab.
    In Windows wird das Prüfergebnis aber in einem "CHKDSK-Log" bzw. "CHKDSK-Protokoll" gespeichert. Das kann man nachträglich einsehen. Mal im Netz suchen. Suchbegriffe: "CHKDSK-Log" "CHKDSK-Protokoll" einsehen

    Ich kann Dir aber nicht sagen, in welchen Dateien das dann steht. Aber aus Zeiten mit Visual Basic Weiß ich, dass man leicht auf viele windowsinterne Sachen zugreifen kann, mindestens auf die Systemregistrierungseinträge. Da Du ja den C++-Builder im Gange hast, könnte man sicher darüber auch was machen, da man die Ergebnisse auch über die windowsinternen Tools ansehen kann, wie Du bei den Suchergebnissen s.o. sehen wirst.

    MfG
    meine Frage war nicht, ob du so was noch nie gebraucht hast und/oder ob du es NICHT weißt, sondern:
    gibt es ein script für die Anzeige vom letzten chkdsk Ergebnis (z.B. über Notepad etc.)?
    (Windows 7 64 prof)
    es steht irgendwo in der Ereignisanzeige, aber irrsinnig schwer auffindbar, daher meine Frage nach einem Script, das das sofort auf den Schirm bringt
    Geändert von HaWe (27.03.2019 um 11:15 Uhr)

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    ich habe da einen Stackoverflow Eintrag gefunden der als Ergebnis eine bat hat die deinen Zwecken dienen sollte

    in der anderen Antwort steckt ein relativ kurzer Powershell Script, der bei mir zumindest 1 mal funktioniert hat

    https://stackoverflow.com/questions/...at-run-on-boot

    soweit ich den Inhalt verstanden habe macht er auch nichts böses

    die Variante mit der Powershell aus der alternativen Antwort finde ich besser, weil minimalistischer
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  7. #7
    HaWe
    Gast
    Zitat Zitat von Ceos Beitrag anzeigen
    ich habe da einen Stackoverflow Eintrag gefunden der als Ergebnis eine bat hat die deinen Zwecken dienen sollte

    in der anderen Antwort steckt ein relativ kurzer Powershell Script, der bei mir zumindest 1 mal funktioniert hat

    https://stackoverflow.com/questions/...at-run-on-boot

    soweit ich den Inhalt verstanden habe macht er auch nichts böses

    die Variante mit der Powershell aus der alternativen Antwort finde ich besser, weil minimalistischer
    was meinst du mit powershell script?
    das hier?
    Code:
    get-winevent -FilterHashTable @{logname="Application"; id="1001"}| ?{$_.providername –match "wininit"} | fl timecreated, message | out-file Desktop\CHKDSKResults.txt
    das gibt einen Fehler
    Der Befehl "get-winevent" konnte nicht gefunden werden.

    Das Batchfile
    Code:
    @echo off
    Title Check Disk drives for errors and fix them by Hackoo 2016
    mode con cols=67 lines=5 & Color 0A
    :::::::::::::::::::::::::::::::::::::::::
    :: Automatically check & get admin rights
    :::::::::::::::::::::::::::::::::::::::::
    set "TmpLog=%Tmp%\TmpLog.txt"
    set "Log=%~dp0%computername%_%~n0.txt"
    set "MyVBSFile=%~dp0%~n0_On_Boot.vbs"
    set "Value=CHKDSK_ON_BOOT"
    Set "Key=HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce"
    If Exist "%TmpLog%" Del "%TmpLog%"
    If exist "%Log%" Del "%Log%"
    REM  --> Check for permissions
    Reg query "HKU\S-1-5-19\Environment" >nul 2>&1
    REM --> If error flag set, we do not have admin.
    if '%errorlevel%' NEQ '0' (
    Echo.
    ECHO                        **************************************
    ECHO                         Running Admin shell... Please wait...
    ECHO                        **************************************
    
        goto UACPrompt
    ) else ( goto gotAdmin )
    
    :UACPrompt
        echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
        set params = %*:"=""
        echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
    
        "%temp%\getadmin.vbs"
        del "%temp%\getadmin.vbs"
        exit /B
    
    :gotAdmin
    ::::::::::::::::::::::::::::
    ::          START         ::
    ::::::::::::::::::::::::::::
    ( Echo Scan started @ & Date /T & Time /T & echo ************************ ) > "%TmpLog%"
    setlocal ENABLEDELAYEDEXPANSION
    for /f "tokens=2" %%i in ('wmic logicaldisk where "drivetype=3" ^|find /i ":"') do (
        set "fix=%%i"
            Call :Affich !fix!
        (
            echo !fix! Drive 
            echo ************************
            echo(
            (echo O
            echo Y) | CHKDSK !fix! /f 
            echo(
            echo ************************
        )>> "%TmpLog%"
    )
    EndLocal
    Goto Question
    Exit /b
    ::******************************************************************
    :Question
    ( echo Scan finished @ & Date /T & Time /T & echo ************************ )>> "%TmpLog%"
    CMD /U /C Type "%TmpLog%" > "%Log%"
    If Exist "%TmpLog%" Del "%TmpLog%"
    (
        echo    Answ = MsgBox("Did you want to reboot the computer to complete the scanning ?",VbYesNo+VbQuestion,"Reboot the computer to check hard disk drives for errors by Hackoo"^)
        echo    If Answ = VbYes then 
        echo        wscript.Quit(0^)
        echo    Else
        echo        wscript.Quit(1^)
        echo    End If
    )>"%tmp%\%~n0.vbs"
    
    Cscript /nologo "%tmp%\%~n0.vbs"
    IF "%errorlevel%" EQU "1" ( goto AddKey ) else ( goto Shutdown )
    ::******************************************************************
    :Shutdown
    echo(
    cls
    echo(
    echo     Save your work - Reboot of your computer in 120 seconds
    echo(
    echo   Enregistrer vos documents - Redemarrage du PC dans 120 seconds 
    Call:AddKey && Shutdown.exe /r /t 120 /c "Enregistrer vos documents - Redemarrage du PC dans 120 secondes"
    pause>nul
    exit /b
    ::******************************************************************
    :Affich
    Cls
    echo(
    echo                ***********************************
    Echo                 Please wait a while Scanning "%~1"
    echo                ***********************************
    Timeout /T 2 /nobreak>nul
    exit /b
    ::******************************************************************
    :AddKey
    reg query "%key%" /v "%Value%" >nul 2>&1
    If "%errorlevel%" EQU "0" ( Goto :EOF
        ) Else (
        reg add "%Key%" /v "%Value%" /t REG_SZ /d "%MyVBSFile%">nul
        (
            echo Option Explicit
            echo 'Run as Admin
            echo If Not WScript.Arguments.Named.Exists("elevate"^) Then
            echo    CreateObject("Shell.Application"^).ShellExecute DblQuote(WScript.FullName^) _
            echo    , DblQuote(WScript.ScriptFullName^) ^& " /elevate", "", "runas", 1
            echo     WScript.Quit
            echo End If
            echo Dim ws,PSCommand,LogFile,ret
            echo LogFile = Left(Wscript.ScriptFullName,InstrRev(Wscript.ScriptFullName, "."^)^) ^& "txt"
            echo set ws = createobject("wscript.shell"^)
            echo PSCommand = "cmd /c Powershell -Command ""& ""Get-winevent -FilterHashTable @{logname='Application'; id='1001'}^|?{$_.providername -match 'wininit'} ^| fl timecreated, message ^| out-file "^& SimpleQuote(LogFile^) ^&""
            echo ret = ws.run(PScommand,0,True^)
            echo ws.run DblQuote(LogFile^)
            echo '**************************************
            echo Function DblQuote(Str^)
            echo    DblQuote = chr(34^) ^& Str ^& chr(34^)
            echo End function
            echo '**************************************
            echo Function SimpleQuote(Str^)
            echo    SimpleQuote = ChrW(39^) ^& Str ^& ChrW(39^)
            echo End Function
            echo '**************************************
        )>"%MyVBSFile%"
    start "" "%Log%"
    )   
    Exit /b
    ::*******************************************************************
    hingegen ist auch nicht bauchbar, weil es nicht die chkdsk-Ergebnisse listet, die bereits gelaufen sind (z.B. auch bei von Windows selber erzeugten chkdsk Läufen auf Grund von Bootfehlern)

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    hast du den powershell script denn auch in der "powershell" ausgeführt? Die klassische cmd ist nur die "Konsole"

    get-winevent -FilterHashTable @{logname="Application"; id="1001"}| ?{$_.providername –match "wininit"} | fl timecreated, message | out-file Desktop\CHKDSKResults.txt

    da du die pro variante hast, sollte es sich über das startmenü tehoretisch leicht finden lassen
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  9. #9
    HaWe
    Gast
    edit: habs gefunden, gibt aber auch Fehler:

    Windows PowerShell
    Copyright (C) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

    PS C:\Windows\System32\WindowsPowerShell\v1.0> get-winevent -FilterHashTable @{l
    ogname="Application"; id="1001"}| ?{$_.providername -match "wininit"} | fl timec
    reated, message | out-file Desktop\CHKDSKResults.txt
    Out-File : Ein Teil des Pfades "C:\Windows\System32\WindowsPowerShell\v1.0\De sk
    top\CHKDSKResults.txt" konnte nicht gefunden werden.
    Bei Zeile:1 Zeichen:140
    + get-winevent -FilterHashTable @{logname="Application"; id="1001"}| ?{$_.provi
    dername -match "wininit"} | fl timecreated, message | out-file <<<< Desktop\CH
    KDSKResults.txt
    + CategoryInfo : OpenError: ( [Out-File], DirectoryNotFoundExce
    ption
    + FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.Ou
    tFileCommand


    PS C:\Windows\System32\WindowsPowerShell\v1.0>


    irgendwie ist das verkorkst wie es scheint...

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    De sk
    top
    Du hast da glaube ich ein Leerzeichen reingehauen, passe mal das Ende der Zeile an, dass er die Datei auf einem absoluten und nciht relativen Pfad legt, also statt

    out-file Desktop\CHKDSKResults.txt

    out-file <AbsoluterPfadZuEinemOrdner>\CHKDSKResults.txt

    bedenke dass Leerzeichen im Pfad problematisch sein können und du den Dateinamen eventuell inklusive Pfad in Anführungszeichen setzen musst

    OT: "bedenke dass" oder "bedenke das" ??? hab grad irgendwie eine Data Corruption im Hirn .. da ist etwas von meiner Schulbildung verloren gegangen
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. [ERLEDIGT] SRF05 auslesen liefert nur Ergebnis 0
    Von Torrentula im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 28.12.2011, 18:18
  2. Division mit Nachkommastellen als Ergebnis???
    Von erik_wolfram im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 22.08.2011, 16:13
  3. ADC sendet Ergebnis nicht
    Von zappel76 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 9
    Letzter Beitrag: 11.09.2010, 12:53
  4. Ergebnis der AD-Wandlung mit Kommata angeben!
    Von patrick-rp6 im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 10.06.2010, 04:41
  5. ADC-Ergebnis in Variable weiter benutzen
    Von Cvecko im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 30.09.2005, 11:26

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen