Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Обратотать файл и создать список аккаунтов которые имеют определенную игру

Ответить
Настройки темы
CMD/BAT - [решено] Обратотать файл и создать список аккаунтов которые имеют определенную игру

Аватара для aVitaliy

Пользователь


Сообщения: 73
Благодарности: 7

Профиль | Отправить PM | Цитировать


Изменения
Автор: aVitaliy
Дата: 27-06-2024
Подскажите как сделать такое. При помощи BAT файла или PowerShell.
Мне надо из текстового файла выбрать аккаунты, которые содержат нужную мне определенную игру и создать отдельный файл с перечнем этих аккаунтов.
В данном случает, мне нужно составить список аккаунтов которые имеют для примера только игру: app/252490 | Rust
Чтобы в конечном итоге этот список выглядел вот так (Все одной строкой, после каждого аккаунта запятая): ac1,ac4,ac5,...

Файл который надо обратотать

<ac1> Уже имеет: app/252490 | Rust
<ac1> Уже имеет: app/700580 | Rust - Staging Branch
<ac1> Уже имеет: app/435120 | Rusty Lake Hotel

<ac2> Уже имеет: app/700580 | Rust - Staging Branch
<ac2> Уже имеет: app/435120 | Rusty Lake Hotel

<ac3> Уже имеет: app/700580 | Rust - Staging Branch
<ac3> Уже имеет: app/435120 | Rusty Lake Hotel

<ac4> Уже имеет: app/252490 | Rust
<ac4> Уже имеет: app/700580 | Rust - Staging Branch
<ac4> Уже имеет: app/435120 | Rusty Lake Hotel

<ac5> Уже имеет: app/252490 | Rust

<ac6> Уже имеет: app/700580 | Rust - Staging Branch
<ac6> Уже имеет: app/435120 | Rusty Lake Hotel

и так далее...

Отправлено: 08:21, 27-06-2024

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6577
Благодарности: 1508

Профиль | Отправить PM | Цитировать


Powershell
Код: Выделить весь код
$in = 'C:\temp\in.txt'
$out = 'C:\temp\out.txt'
$game = 'app/252490 | Rust'

(gc $in) -match "$game$" -replace '^<(.+)>.*','$1' -join ',' > $out

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:32, 27-06-2024 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 2190
Благодарности: 724

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion

set in=a.txt
set id=252490

for /f "tokens=1 delims=<>" %%a in ('type %in% ^|find "%id%"') do set r=!r!,%%a
echo %id% = %r:~1%
pause

Последний раз редактировалось sov44, 27-06-2024 в 14:31.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:21, 27-06-2024 | #3


Аватара для aVitaliy

Пользователь


Сообщения: 73
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата sov44:
Код:
@echo off
setlocal enabledelayedexpansion
set in=a.txt
set id=252490
for /f "tokens=1 delims=<>" %%a in ('type %in% ^|find "%id%"') do set r=!r!,%%a
echo %id% = %r:~1%
pause »
Можно как-то так же извлечеть из лог файла имена аккаунтов и составить из них них список (Все одной строкой, после каждого аккаунта запятая): ac1,ac4,ac5,...
Только вот имена аккаунтов, проблема в том что могут быть разной длины. Для примера 11 и 12 символов.

Файл который надо обратотать

2024-07-01 03:30:29|ArchiSteamFarm-9720|DEBUG|zlobniychel|InternalRequest() Forbidden <- GET https://store.steampowered.com/explore?l=english
2024-07-01 04:54:19|ArchiSteamFarm-9720|DEBUG|vertimoguner|InternalRequest() Forbidden <- GET https://store.steampowered.com/explore?l=english
2024-07-01 05:26:30|ArchiSteamFarm-9720|DEBUG|nastoyazhiy|InternalRequest() Forbidden <- GET https://store.steampowered.com/explore?l=english
2024-07-01 05:46:01|ArchiSteamFarm-9720|DEBUG|progorklynov|InternalRequest() Forbidden <- GET https://store.steampowered.com/explore?l=english

Отправлено: 11:21, 01-07-2024 | #4


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6577
Благодарности: 1508

Профиль | Отправить PM | Цитировать


Powershell
Код: Выделить весь код
$in = 'C:\temp\in.txt'
$out = 'C:\temp\out.txt'

(gc $in |% {$_.split('|')[3]}) -join ',' > $out

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:28, 01-07-2024 | #5


Аватара для aVitaliy

Пользователь


Сообщения: 73
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
Powershell
Код:
$in = 'C:\temp\in.txt'
$out = 'C:\temp\out.txt'
(gc $in |% {$_.split('|')[3]}) -join ',' > $out »
Срабатывает, но так как в лог файле есть еще много других строк содержащие имена аккаунтов, то выводит вообще все аккаунты, а не только аккаунты которые содержат строки "InternalRequest() Forbidden <- GET https://store.steampowered.com/explore?l=english".

Отправлено: 12:38, 01-07-2024 | #6


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6577
Благодарности: 1508

Профиль | Отправить PM | Цитировать


aVitaliy, так нужно было написать об этом, телепатов нету же.

Код: Выделить весь код
$in = 'C:\temp\in.txt'
$out = 'C:\temp\out.txt'
$str = 'InternalRequest() Forbidden <- GET https://store.steampowered.com/explore?l=english'

(sls -Path $in -SimpleMatch $str |% {$_.tostring().split('|')[3]}) -join ',' > $out

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:09, 01-07-2024 | #7


Аватара для aVitaliy

Пользователь


Сообщения: 73
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
aVitaliy, так нужно было написать об этом, телепатов нету же. »
Согласен, упустил из виду, не подумал заранее об этом. Сейчас проверил, работает как надо. Благодарю!

Отправлено: 13:23, 01-07-2024 | #8


Ветеран


Сообщения: 2190
Благодарности: 724

Профиль | Отправить PM | Цитировать


Цитата aVitaliy:
Можно как-то так же извлечеть из лог файла имена аккаунтов и составить из них них список (Все одной строкой, после каждого аккаунта запятая): ac1,ac4,ac5,... »
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
set in=a1.txt
for /f "tokens=4 delims=|" %%a in ('type %in%') do set r=!r!,%%a
echo %r:~1%
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:53, 16-07-2024 | #9


Аватара для aVitaliy

Пользователь


Сообщения: 73
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата sov44:
Цитата aVitaliy:
Можно как-то так же извлечеть из лог файла имена аккаунтов и составить из них них список (Все одной строкой, после каждого аккаунта запятая): ac1,ac4,ac5,... »
Код:
@echo off
setlocal enabledelayedexpansion
set in=a1.txt
for /f "tokens=4 delims=|" %%a in ('type %in%') do set r=!r!,%%a
echo %r:~1%
pause »
Что-то не срабатывает у меня.
Переделал немного, как выше был другой рабочий вариант.
Но у меня выводит в итоге только самый последний аккаунт, все остальные не выводятся.
То есть в итоге получается как-то так:
Forbidden = r!,ac5

Вот сам скрипт, который я переделал, но что в нем переделать, чтобы работал и выводил все аккаунты?

Код: Выделить весь код
@echo off
set in=log.txt
set id=Forbidden
for /f "tokens=4 delims=|" %%a in ('type %in% ^|find "%id%"') do set r=!r!,%%a
echo %id% = %r:~1% > Forbidden-Owns.txt
:pause

Отправлено: 14:42, 16-07-2024 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Обратотать файл и создать список аккаунтов которые имеют определенную игру

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Извлечь из архива только определенную папку/определенный файл SharkyEXE Скриптовые языки администрирования Windows 34 09-08-2017 22:34
Как создать игру? KoJIDyH Игры 17 15-03-2016 09:13
CMD/BAT - Результат выполнения команды дописать в файл в определенную строку DR_WELL Скриптовые языки администрирования Windows 1 24-06-2011 04:57
Инфо - Список стандартных шрифтов которые нельзя изменять FlatX007 Оформление Windows XP 3 23-01-2010 18:58
Список программ которые работают только на проце 64бит venuko Хочу все знать 6 18-07-2008 23:02




 
Переход