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

Компьютерный форум 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

 

Ветеран


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

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


aVitaliy, у меня вроде всё работает.
code

Код: Выделить весь код
@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


a1.txt

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|vertim|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


Результат

zlobniychel,vertim,nastoyazhiy,progorklynov
Для продолжения нажмите любую клавишу . . .

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

Отправлено: 15:44, 16-07-2024 | #11



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

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


Аватара для aVitaliy

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


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

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


sov44,
Если использовать тот же файл a1.txt
a1.txt
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|vertim|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


И вот этот скрипт:
Код: Выделить весь код
@echo off
set in=a1.txt
set id=Forbidden
for /f "tokens=4 delims=|" %%a in ('type %in% ^|find "%id%"') do set r=!r!,%%a
echo %id% = %r:~1%
pause
То получается такой результат:

Forbidden = r!,progorklynov

То есть выводит, но только самый последний аккаунт, вместо всех.
Вот этот скрип не пойму как изменить/доделать чтобы вывел все аккаунты.

Отправлено: 16:57, 16-07-2024 | #12


Ветеран


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

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


aVitaliy, уберите
Код: Выделить весь код
^|find "%id%"
Иными словами вы просматриваете текстовый файл a1 на наличие строк со словом Forbidden, а затем найденные строки разбиваете на токены. В этом ошибка.

Отправлено: 17:07, 16-07-2024 | #13


Аватара для aVitaliy

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


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

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


sov44,
Цитата sov44:
Иными словами вы просматриваете текстовый файл a1 на наличие строк со словом Forbidden, а затем найденные строки разбиваете на токены. В этом ошибка. »
Да, так как лог файле содержиться очень много другой информации.
И мне надо из строк где есть слово Forbidden выделить имя аккаунта и вывести/показать все эти имена аккаунтов.

В вашем скрипте выводиться ввобще все имена аккаунтов:

Код: Выделить весь код
@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


a1.txt

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|vertim|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
2024-07-11 12:02:12|ArchiSteamFarm-8740|WARN|ac3|SendTradeOffer() Не удалось из-за ошибки: You have sent too many trade offers, or have too many outstanding trade offers with ac0. Please cancel some before sending more.
2024-07-11 12:04:24|ArchiSteamFarm-8740|DEBUG|ac1|InternalRequest() InternalServerError <- POST https://steamcommunity.com/tradeoffer/new/send
2024-07-11 12:04:24|ArchiSteamFarm-8740|WARN|ac2|SendTradeOffer() Не удалось из-за ошибки: There was an error sending your trade offer. Please try again later. (15)
2024-07-11 12:07:24|ArchiSteamFarm-8740|DEBUG|ac5|InternalRequest() InternalServerError <- POST https://steamcommunity.com/tradeoffer/new/send
2024-07-11 12:07:24|ArchiSteamFarm-8740|WARN|ac6|SendTradeOffer() Не удалось из-за ошибки: There was an error sending your trade offer. Please try again later. (15)
2024-07-14 16:17:14|ArchiSteamFarm-8740|INFO|ac7|Init() Успешно!


Получил такой результат:
zlobniychel,vertim,nastoyazhiy,progorklynov,ac3,ac1,ac2,ac5,ac6,ac7
Для продолжения нажмите любую клавишу . . .

Последний раз редактировалось aVitaliy, 16-07-2024 в 18:12.


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


Ветеран


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

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


aVitaliy, пробуйте
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion

set in=a1.txt
set id=Forbidden

for /f "tokens=4 delims=|" %%a in ('type %in% ^|find /i "%id%" 2^>nul') do set r=!r!,%%a
echo  %id% = %r:~1%
pause
exit
a1.txt

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|vertim|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
2024-07-11 12:02:12|ArchiSteamFarm-8740|WARN|ac3|SendTradeOffer() Не удалось из-за ошибки: You have sent too many trade offers, or have too many outstanding trade offers with ac0. Please cancel some before sending more.
2024-07-11 12:04:24|ArchiSteamFarm-8740|DEBUG|ac1|InternalRequest() InternalServerError <- POST https://steamcommunity.com/tradeoffer/new/send
2024-07-11 12:04:24|ArchiSteamFarm-8740|WARN|ac2|SendTradeOffer() Не удалось из-за ошибки: There was an error sending your trade offer. Please try again later. (15)
2024-07-11 12:07:24|ArchiSteamFarm-8740|DEBUG|ac5|InternalRequest() InternalServerError <- POST https://steamcommunity.com/tradeoffer/new/send
2024-07-01 05:46:01|ArchiSteamFarm-9720|DEBUG|progorklynov77|InternalRequest() Forbidden <- GET https://store.steampowered.com/explore?l=english
2024-07-11 12:07:24|ArchiSteamFarm-8740|WARN|ac6|SendTradeOffer() Не удалось из-за ошибки: There was an error sending your trade offer. Please try again later. (15)
2024-07-14 16:17:14|ArchiSteamFarm-8740|INFO|ac7|Init() Успешно!
2024-07-01 05:46:01|ArchiSteamFarm-9720|DEBUG|progorklynov111|InternalRequest() Forbidden <- GET https://store.steampowered.com/explore?l=english
2024-07-01 05:26:30|ArchiSteamFarm-9720|DEBUG|nastoyazhiy77|InternalRequest() Forbidden <- GET https://store.steampowered.com/explore?l=english
2024-07-01 05:46:01|ArchiSteamFarm-9720|DEBUG|progorklynov000|InternalRequest() Forbidden <- GET https://store.steampowered.com/explore?l=english
2024-07-11 12:02:12|ArchiSteamFarm-8740|WARN|ac3|SendTradeOffer() Не удалось из-за ошибки: You have sent too many trade offers, or have too many outstanding trade offers with ac0. Please cancel some before sending more.
2024-07-11 12:04:24|ArchiSteamFarm-8740|DEBUG|ac1|InternalRequest() InternalServerError <- POST https://steamcommunity.com/tradeoffer/new/send


результат

Forbidden = zlobniychel,vertim,nastoyazhiy,progorklynov,progorklynov77,progorklynov111,nastoyazhiy77,progorklyno v000
Для продолжения нажмите любую клавишу . . .

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

Отправлено: 19:19, 16-07-2024 | #15


Аватара для aVitaliy

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


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

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


sov44,
Да это то что надо. Обработал лог файл и вывел все аккаунты которые были с Forbidden.

Большое спасибо за помощь sov44 и DJ Mogarych.

Отправлено: 04:39, 17-07-2024 | #16



Компьютерный форум 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




 
Переход