![Компьютерный форум OSzone.net](images/oszone.net.print.gif) |
|
Обработка созданного txt ( systeminfo )
Вложений: 1
Добрый день, подскажите пожалуйста как обработать файл ... NIKOLAY.TXT ...
Этот файл был получен путем bat файла
PHP код:
@echo off
chcp 866 >nul
systeminfo /fo table>test.txt
if exist %COMPUTERNAME%.txt (set /P pset="%COMPUTERNAME%.txt already exist. Enter new name: ")
for /f "usebackq delims=" %%a in (test.txt) do chcp 1251>nul& call :convert "%%a"
del /q test.txt
chcp 866>nul
pause
goto :eof
:convert
if defined pset goto :W
if not defined pset goto :E
:W
echo %~1 >>%pset%.txt
:E
echo %~1 >>%COMPUTERNAME%.txt
Как сделать чтобы
- Время работы системы: 0 дн., 18 час., 17 мин, 38 сек. -- вот этой строчки не было вообще
- Процессор(ы): Число процессоров - 1.
[01]: x86 Family 6 Model 15 Stepping 13 GenuineIntel ~2399 МГц -- вот эта строчка писалось бы как Процессор1: x86 Family 6...
и если в дальнейшем будет Процессор2: .. тоже бы учитывать это - Исправление(я): Число установленных исправлений - 249. -- Вообще бы их не было, всех
- Режим вывода команд на экран (ECHO) отключен -- убрать
- Неизвестные сетевые адаптеры: Число сетевых адаптеров - 1. -- как и процессоры :
Сетевой адаптер1: NVIDIA nForce 10/100/1000 Mbps Ethernet
IP: 192.168.1.117
Или можно как то проще собрать информацию о системе?
|
Покопался в интернете нашел вот что:
PHP код:
set fname=NIKOLAY.txt findstr /c:"Имя узла:" /c:"Название ОС" /c:"Версия ОС" %fname% > log.txt del %fname% move log.txt %fname%
Как я правильно понял, он находит строку где есть "Название ОС" , "Версия ОС" и так далее
Пишет во временный файл, и переписывает старый...
Одно но, у меня конечный файл пустой...
|
Возможные причины:
1. Несоответствие кодировок.
2. Некоторые версии «findstr.exe» не всегда корректно работают с кириллицей.
|
for /f "tokens=*" %%i in ('more +0 "1.txt"') do (echo %%i&exit) > out1.txt
как поменять, чтобы он не только первую строку брал, а еще какие я скажу?
for /f "tokens=*" %%i in ('more +0+1+2+3+4+5 "1.txt"') do (echo %%i&exit) > out1.txt
не работает
|
Цитата:
Цитата mataranga
как поменять, чтобы он не только первую строку брал, а еще какие я скажу? »
|
Например, так:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
for %%i in (1 3 5 8) do (
for /f "usebackq delims=" %%j in (`more.com +%%i "E:\Песочница\0198\test.txt"`) do (
if not defined sFirstLine (
set sFirstLine=defined
echo %%j
)
)
set sFirstLine=
)
endlocal
exit /b 0
Но намного быстрее — так:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq delims=[] tokens=1*" %%j in (`type "E:\Песочница\0198\test.txt" ^| find.exe /n /v ""`) do (
for %%i in (1 3 5 8) do (
if %%i equ %%j echo.%%k
)
)
endlocal
exit /b 0
|
Время: 18:08.
© OSzone.net 2001-