Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Вывести результаты команд в один cvs файл в одну строчку (http://forum.oszone.net/showthread.php?t=346838)

oooluk 27-10-2020 12:30 2937739

Вывести результаты команд в один cvs файл в одну строчку
 
Вложений: 1
Команды такие
Код:

$env:computername
Get-WmiObject Win32_Processor | select Name
Get-Content -Path 'C:\Users\Admin\AppData\Local\3CX VoIP Phone\3CXVoipPhone.ini' | Select-String Name=*, AuthID=*</code>

Хочу получить вот такой результат.
Код:

admin-PC,AMD Ryzen 3,Name=aaa,AuthID=1,Name=bbb,AuthID=2
Если файл cvs не получиться создать можно и в txt выгрузить.
Главное чтобы запятые были.

YuS_2 27-10-2020 13:58 2937764

Цитата:

Цитата oooluk
3CXVoipPhone.ini »

Образец файла покажите. Файл лучше прикрепить в первое сообщение. Также, желательно указать максимально возможное число записей в этом файле, которые понадобятся в выборке.

Elven 27-10-2020 13:58 2937766

не совсем понятно как там строки в 3CXVoipPhone.ini, но в общем виде приблизительно как-то так:
Код:

$env:computername  + "," + (Get-WmiObject Win32_Processor).Name + "," + (Get-Content -Path 'C:\Users\Admin\AppData\Local\3CX VoIP Phone\3CXVoipPhone.ini' | Select-String Name=*, ID=*</code>) | Out-File result.txt

oooluk 27-10-2020 16:57 2937788

YuS_2, Прикрепил. Вообще там структура такая. И я ошибайся немного. Там правильно Select-String Name=*, AuthID=*
Структура такая:
мусор
Name=aaa
мусор
AuthID=123
мусор
Name=bbb
мусор
AuthID=456
мусор
Пары Name и AuthID могут повторяться от 1 до 3 раз.
Elven, Смотрите у меня команда
Код:

Select-String Name=*, AuthID=*
выводит несколько объектов. И если их просто в файл направить то они будут через проблем а мне через замятую нужно.
Ну вот так сейчас:
Цитата:

ADMIN01,AMD Ryzen 3 ,Name=aaa AuthID=123 Name=bbb AuthID=456
А надо
Цитата:

ADMIN01,AMD Ryzen 3 ,Name=aaa,AuthID=123,Name=bbb,AuthID=456
Чтобы все через запятую было.

YuS_2 27-10-2020 21:01 2937807

Цитата:

Цитата oooluk
Прикрепил. »

Цитата:

Цитата oooluk
А надо
Цитата:
ADMIN01,AMD Ryzen 3 ,Name=aaa,AuthID=123,Name=bbb,AuthID=456
Чтобы все через запятую было. »

Строго по условию:
Код:

$file = '3CXVoipPhone.ini'
(@(
$env:computername
(gcim win32_processor).name
(sls $file -patt 'Name=','AuthID=' -enc unicode).line -join ','
) -join ',')|out-file out.csv -enc utf8

но есть сомнения, что в ini, секции и параметры всегда располагаются в строгом порядке и последовательности... хотя, может быть, это и не имеет значения.


Время: 21:21.

Время: 21:21.
© OSzone.net 2001-