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

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

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

Новый участник


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

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


Суть такая:
У меня есть файл text.log в нём находятся ники людей, и всякой всячины. Ники людей максимум 30 штук.
Пример:

2013.03.13 15:03:48 [D] @SET {"n":"Stef937","id":4290534,"s":0,"v":"STUGIII","t":2}
2013.03.13 15:03:48 [D] @ADD {"n":"TenderGT","id":11337440,"s":0,"v":"KV1","t":2}
2013.03.13 15:03:48 [D] @ADD {"n":"under777","id":11132093,"s":0,"v":"T-34","t":2}
2013.03.13 15:03:48 [D] @ADD {"n":"Tuesok[SLIQ]","id":998370,"s":0,"v":"GB08_CHURCHILL_I","t":1}
2013.03.13 15:03:48 [D] @ADD {"n":"Rast72","id":15568930,"s":0,"v":"PZIII","t":2}
2013.03.13 15:03:48 [D] @ADD {"n":"Time13","id":1861289,"s":0,"v":"VK1602","t":1}
2013.03.13 15:03:48 [D] @ADD {"n":"vitala2","id":12413783,"s":0,"v":"KV-1S","t":1}
2013.03.13 15:03:48 [D] @ADD {"n":"Daniel13","id":2173082,"s":0,"v":"VK3001H","t":1}

Ники: Stef,TenderGT,under777,Tuesok[SLIQ],Rast77,Time13,vitala2,Daniel13
Мне их нужно скопировать в отдельный файл log.txt
Чтобы получилось в файле:

2013.03.13 ник
2013.03.13 ник
2013.03.13 ник

Тоесть дата и ник, и чтобы батник добавлял в файл каждый раз при запуске его, а не заменял.После копирования нужно чтобы первый файл text.log был очищен.
Помогите с батником плиз голова кругом идёт после моих проб, одни ошибки.

Отправлено: 15:06, 13-03-2013

 

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
Set File1=Text.Log
Set File2=Log.txt

FOR /F "usebackq tokens=1,8 delims=:, " %%i in ("%File1%") do @echo %%i %%~j>>"%File2%"
Cd >nul 2>"%File1%"

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 13-03-2013 в 19:25.

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

Отправлено: 19:09, 13-03-2013 | #2



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

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


Новый участник


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

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


Спасибо огромное megaloman!!! Всё хорошо! Но единственное я забыл сказать, что в файле Text.log не все садержут ники, получилось вот так:

2013.03.14 WINDOW_SIZE=1600
2013.03.14
2013.03.14
D
MAP_NAME=35_STEPPES
loadEnemyStatsInFogOfWar=true
useStandardMarkers=false
2013.03.14 [BattleLoading]
2013.03.14 grifon21[-UL-]
2013.03.14 snep64rus[164RS]
2013.03.14 MrOTTO[TP-P]
2013.03.14 Maksimusveliky[PK_TP]
2013.03.14 Alen87
2013.03.14 Se_men76[TSIB]
2013.03.14 oleg1581
2013.03.14 KuniZa[B-A-W]
2013.03.14 CheDaV_[4_FUN]
2013.03.14 sharley1425
2013.03.14 MARS_74RUS[VPUZO]

Тоесть те строки где нет ников тоже вписались. Извени за назойливость, можно ли добавить в поиск регулярные выражения которые ставятся перед ником
{"n": , чтобы получилось так:

2013.03.14 grifon21[-UL-]
2013.03.14 snep64rus[164RS]
2013.03.14 MrOTTO[TP-P]
2013.03.14 Maksimusveliky[PK_TP]
2013.03.14 Alen87
2013.03.14 Se_men76[TSIB]
2013.03.14 oleg1581
2013.03.14 KuniZa[B-A-W]
2013.03.14 CheDaV_[4_FUN]
2013.03.14 sharley1425
2013.03.14 MARS_74RUS[VPUZO]

Спасибо за уделённое время и за работу!!!

Отправлено: 04:26, 14-03-2013 | #3


Аватара для gora

Ушёл из жизни


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

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


Цитата kolkin-alexandr:
я забыл сказать, что в файле Text.log не все садержут ники »
Что же Вы и со второго раза свой файл не выложили? Опять гадать на кофейной гуще?
Немного подправил файл коллеги megaloman под новые вводные:
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion
Set File1=Text.Log
Set File2=Log.txt

FOR /F "usebackq tokens=*" %%a in ("%File1%") do (
	Set ta=%%a
	If Not !ta!==!ta:{"n":=! FOR /F "tokens=1,8 delims=:, " %%i in ("%%a") do @echo %%i %%~j
)>>"%File2%"
Cd >nul 2>"%File1%"
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:12, 14-03-2013 | #4


Новый участник


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

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


Спасибо Вам огромное gora и megaloman!!! Всё отлично работает! Вы облегчили жизнь сразу всему нашему клану!!! Теперь многие просто небудут время терять,
и использовать старый способ ручку и блокнот!Спасибо ВАМ!!!

Отправлено: 11:26, 14-03-2013 | #5


Ветеран


Contributor


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

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


Цитата:
в файле Text.log не все садержут ники
Код: Выделить весь код
@Echo Off
Set File1=Text.Log
Set File2=Log.txt

FOR /F "usebackq tokens=1,8,9 delims=:, " %%i in ("%File1%") do If /I %%k=="id" @echo %%i %%~j>>"%File2%"
Cd >nul 2>"%File1%"
или вот такой for вместо предыдущего
Код: Выделить весь код
FOR /F "usebackq tokens=1,7,8 delims=:, " %%i in ("%File1%") do If /I %%j=={"n" @echo %%i %%~k>>"%File2%"
В первом анализируем наличие "id", во втором - {"n"
Будет работать, если способ записи строки с никами одинаков.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 15-03-2013 в 15:47.

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

Отправлено: 15:37, 15-03-2013 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Скопировать все файлы из одного каталога в другой Pavelnt Скриптовые языки администрирования Windows 5 10-03-2013 07:08
CMD/BAT - Перенос строк из одного файла в другой jackscorpse Скриптовые языки администрирования Windows 0 25-08-2012 00:31
PowerShell - [решено] скопировать заданный файл из одного каталога в другой с другим именем Oleg2011 Скриптовые языки администрирования Windows 20 10-10-2011 17:03
Разное - Преобразование одного формата файла в другой Evgesha_572 Программирование и базы данных 3 04-02-2009 14:57
Как экспортировать поле из одного dbf файла в другой? Raman Программное обеспечение Windows 1 04-04-2008 14:30




 
Переход