Ratkaistu bat-tiedoston tulos txt-tiedostoon?

Viestiketju alueella 'Ongelmat' , aloittaja Tinke-80, 16.08.2018.

Tagit:
  1. Tinke-80

    Tinke-80

    Viestejä:
    253
    Rekisteröitynyt:
    18.10.2016
    Koodi:
    @echo off
    echo Checking your system infor, Please wating...
    systeminfo | findstr /c:"Host Name"
    systeminfo | findstr /c:"Domain"
    systeminfo | findstr /c:"OS Name"
    systeminfo | findstr /c:"OS Version"
    systeminfo | findstr /c:"System Manufacturer"
    systeminfo | findstr /c:"System Model"
    systeminfo | findstr /c:"System type"
    systeminfo | findstr /c:"Total Physical Memory"
    ipconfig | find /i "IPv4"
    
    echo.
    
    echo Hard Drive Space:
    wmic diskdrive GET index,caption,name,size /format:table
    
    echo.
    
    echo Service Tag:
    wmic bios get serialnumber
    
    echo.
    echo CPU:
    wmic cpu get name
    
    echo Completed! Thank you!
    
    pause
    Eli yllä olevan bat-tiedoston tulos pitäisi saada txt-tiedostoon jonka nimi olisi result.%päivä%.%aika%.txt
     
  2. Tinke-80

    Tinke-80

    Viestejä:
    253
    Rekisteröitynyt:
    18.10.2016
    @Echo off
    SET LOGFILE=MyLogFile.log
    call :Logit >> %LOGFILE%
    exit /b 0

    :Logit
    :: The rest of your code
    :: ....

    Yllä olevasta editoimaan eteenpäin
     
  3. McPupu

    McPupu Pehmeä jänis

    Viestejä:
    18
    Rekisteröitynyt:
    16.10.2016
    Koodi:
    @echo off
    
    for /F "usebackq tokens=1,2 delims==" %%i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.%%i.'=='.LocalDateTime.' set ldt=%%j
    set ldt=%ldt:~6,2%-%ldt:~4,2%-%ldt:~0,4%-%ldt:~8,2%.%ldt:~10,2%.%ldt:~12,2%
    set output=result.%ldt%.txt
    
    
    echo Checking your system infor, Please wating...
    systeminfo | findstr /c:"Host Name" >>%output%
    systeminfo | findstr /c:"Domain" >>%output%
    systeminfo | findstr /c:"OS Name" >>%output%
    systeminfo | findstr /c:"OS Version" >>%output%
    systeminfo | findstr /c:"System Manufacturer" >>%output%
    systeminfo | findstr /c:"System Model" >>%output%
    systeminfo | findstr /c:"System type" >>%output%
    systeminfo | findstr /c:"Total Physical Memory" >>%output%
    ipconfig | find /i "IPv4" >>%output%
    
    echo.
    
    echo Hard Drive Space: >>%output%
    wmic diskdrive GET index,caption,name,size /format:table  >>%output%
    
    echo.
    
    echo Service Tag: >>%output%
    wmic bios get serialnumber >>%output%
    
    echo.
    echo CPU: >>%output%
    wmic cpu get name >>%output%
    
    echo Completed! Thank you!
    
    pause
    Tosin tuo tulostus näyttää jännältä, mutta äkkiseltään noin...
     
    neko ja Tinke-80 tykkäävät tästä.
  4. Tinke-80

    Tinke-80

    Viestejä:
    253
    Rekisteröitynyt:
    18.10.2016
    Koodi:
    @Echo off
    SET LOGFILE="MyLogFile %DATE% %RANDOM%.txt"
    call :Logit >> %LOGFILE%
    exit /b 0
    
    :Logit
    systeminfo | findstr /c:"Host Name"
    systeminfo | findstr /c:"Domain"
    systeminfo | findstr /c:"OS Name"
    systeminfo | findstr /c:"OS Version"
    systeminfo | findstr /c:"System Manufacturer"
    systeminfo | findstr /c:"System Model"
    systeminfo | findstr /c:"System type"
    systeminfo | findstr /c:"Total Physical Memory"
    ipconfig | find /i "IPv4"
    
    echo.
    echo Hard Drive Space:
    wmic diskdrive GET index,caption,name,size /format:table | sort
    
    echo Service Tag:
    wmic bios get serialnumber | sort
    
    echo CPU:
    wmic cpu get name | sort
    
    " | sort" joutui lisäämään wmic komennon jälkeen että tulos tulee ANSI koodauksella.
     
  5. Tinke-80

    Tinke-80

    Viestejä:
    253
    Rekisteröitynyt:
    18.10.2016
    Koodi:
    @Echo off
    SET LOGFILE="CPU MyLogFile %DATE% %Time%.txt"
    call :Logit >> %LOGFILE%
    start notepad %LOGFILE%
    exit /b 0
    
    :Logit
    systeminfo | findstr /b /c:"Host Name" /c:"Domain" /c:"OS Name" /c:"OS Version" /c:"System Manufacturer" /c:"System Model" /c:"System Type" /c:"Total Physical Memory"
    
    ipconfig | findstr "IPv4"
    echo.
    echo Hard Drive Space: 
    wmic diskdrive GET index,caption,name,size /format:table | findstr /r /v "^$"
    echo.
    echo Service Tag: 
    wmic bios get serialnumber | findstr /r /v "^$ SerialNumber"|sort
    echo.
    echo CPU: 
    wmic cpu get name | findstr /r /v "^$ Name"|sort
    echo.
    echo GPU:
    wmic PATH Win32_videocontroller GET name | findstr /r /v "^$ Name"|sort
    
    Kommentteja miten tästä saisi paremman?
     
  6. neko

    neko Make ATK Great Again

    Viestejä:
    1 924
    Rekisteröitynyt:
    18.10.2016
    Kiitos tästä. Olen muodostanut aina ennen tiedostonimeen päiväyksen ja ajan hankalasti GnuWin32 datella, mutta tässähän oli toimiva tapa. Mennyt kyllä tämä(kin) ohi. Kiitos.

    Vielä alkup. asiaan, mielestäni kannattaisi järjestää päiväys nimeen muodossa vuosi-kk-pp-tt-mm (muotoseikkoja sitten muuten, mutta järjestys suurimmasta pienempään). Mutta tämä oma mielipide.
     
    Viimeksi muokattu: 19.04.2019
  7. ississ

    ississ

    Viestejä:
    255
    Rekisteröitynyt:
    17.01.2018
    Jos lokin aikaleimalla on väliä niin ilman muuta yyyymmddhhmiss halutuilla välimerkeillä jolloin menee aakkostettaessa aikajärjestykseen.
    Itse en yleensä käytä välilyöntejä kun battien lainausten käsittely ei ole ihan parhaasta päästä varsinkin jos jotain otetaan parametrina...

    Onelinerien sijaan laittaisin for ... do (
    )
    Samoin if ... (
    )
    Niin tulee selkeämmin esille missä kohtaa vaihtuu, helpompi lukea.

    Miten muuten haluaisit tuosta paremman ?
    Nopeampi ?
    Jotain muuta ?
     
  8. neko

    neko Make ATK Great Again

    Viestejä:
    1 924
    Rekisteröitynyt:
    18.10.2016
    Jos tämä oli minulle, niin minulla ei ollut tähän enempää kommentoitavaa eikä pyyntöjä tms. :)
     
  9. ississ

    ississ

    Viestejä:
    255
    Rekisteröitynyt:
    17.01.2018
    Ajattelin kuitenkin kysyä kun viimeiseksi oli jäänyt kysymys...
     
  10. neko

    neko Make ATK Great Again

    Viestejä:
    1 924
    Rekisteröitynyt:
    18.10.2016
    Jaa, itse en huomaa...