Ratkaistu bat-tiedoston tulos txt-tiedostoon?

Liittynyt
18.10.2016
Viestejä
1 353
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
 
Liittynyt
18.10.2016
Viestejä
1 353
@Echo off
SET LOGFILE=MyLogFile.log
call :Logit >> %LOGFILE%
exit /b 0

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

Yllä olevasta editoimaan eteenpäin
 

McPupu

Pehmeä jänis
Liittynyt
16.10.2016
Viestejä
23
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...
 
Liittynyt
18.10.2016
Viestejä
1 353
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.
 
Liittynyt
18.10.2016
Viestejä
1 353
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?
 

neko

ᓚᘏᗢ
Liittynyt
18.10.2016
Viestejä
3 751
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%
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.

Eli yllä olevan bat-tiedoston tulos pitäisi saada txt-tiedostoon jonka nimi olisi result.%päivä%.%aika%.txt
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:
Liittynyt
17.01.2018
Viestejä
1 997
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 ?
 
Toggle Sidebar

Statistiikka

Viestiketjut
237 422
Viestejä
4 160 699
Jäsenet
70 408
Uusin jäsen
allun90

Hinta.fi

Ylös Bottom