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

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

Ответить
Настройки темы
CMD/BAT - Копирование строки с условием

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


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

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


Приветствую!
Возможно создать скрипт, при запуске которого сканировалась каждая строка файла xml или txt и если в строке есть определенная часть (например <text> или <desc>), то скопировать данную строку целиком в отдельный фаил. Если в строке данной части нет, то сделать отступ. Желательно запускать .BAT или подсказать, как можно запускать решение. Возможно такое? Фаил и пример https://ibb.co/mXTQhrB

Отправлено: 10:15, 14-10-2022

 

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


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

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


или же наоборот, удалить все записи в строке (сделать ее пустой) если в тексте нет <text> или <desc>. Так наверно будет попроще

Последний раз редактировалось Zoidman, 14-10-2022 в 12:42.


Отправлено: 12:33, 14-10-2022 | #2



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

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


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

fascinating rhythm


Moderator


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

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


Выкладывать текстовый пример как картинку - это круто, но не могли бы вы выложить всё-таки текст?

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


Отправлено: 15:22, 14-10-2022 | #3


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


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

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


Вложения
Тип файла: txt 1.txt
(1.0 Kb, 4 просмотров)
Тип файла: txt 1 - копия.txt
(539 байт, 3 просмотров)

Прикрепляю файл и пример

Отправлено: 16:11, 14-10-2022 | #4


Аватара для YuS_2

Crazy


Contributor


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

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


Zoidman, если есть желание получить помощь, то необходимо описать задачу полностью, причем с полными примерами (если есть конфиденциальная информация, то её можно изменить), а не вырезанные части файла ... Возможно, способ, которым Вы желаете её решить, не является правильным и тогда, опять же, возможно, Вам подскажут как её лучше решить...

-------
scio me nihil scire. Ѫ


Отправлено: 17:01, 14-10-2022 | #5


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

fascinating rhythm


Moderator


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

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


"Батник"
Код: Выделить весь код
powershell -command "(gc C:\temp\1.txt |% {if ($_ -match '<(name|desc)>') {$_ -replace '</?(name|desc)>'} else {$_ -replace '.*'}}) > C:\temp\2.txt"

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


Отправлено: 18:19, 14-10-2022 | #6


Аватара для YuS_2

Crazy


Contributor


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

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


DJ Mogarych, это хоть и обрезанный, но xml же... в нем понятие "строка" весьма условно. Надо работать с тегами...

-------
scio me nihil scire. Ѫ


Отправлено: 18:46, 14-10-2022 | #7


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

fascinating rhythm


Moderator


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

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


YuS_2, это должен сначала понять автор темы. Пока это ему не нужно.

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


Отправлено: 19:12, 14-10-2022 | #8


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


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

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


Вложения
Тип файла: xml achievements.xml
(14.1 Kb, 5 просмотров)

Прикладываю изначальный фаил. Я бы хотел вытащить английский текст для перевода (таких файлов много) и у них разные рамки, встречаются <tooltip>, <type> и тд. хотел самый простой вариант, который позволит задать свои теги под каждый фаил. После заменить измененные строки (через excel меняется легко)

Отправлено: 19:19, 14-10-2022 | #9


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

fascinating rhythm


Moderator


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

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


Этот XML неканоничный, у него отсутствует корневой элемент, нормально импортируется в Powershell только если добавить тэг:

Код: Выделить весь код
<?xml version="1.0" encoding="UTF-8"?>
<foo>
	<achievement id="ACH_SECTOR_5">
		<name>Just Getting Started</name>
		<desc>Get to sector 5.</desc>
		<img>achievements/0.png</img>
		<multiDifficulty>1</multiDifficulty>
	</achievement>
	<achievement id="ACH_LANIUS_OXYGEN">
		<name>Loss of Cabin Pressure</name>
		<desc>Get to sector 8 without your ship's net oxygen levels exceeding 20 percent (starts after the first jump).</desc> 
		<img>achievements/anaerobic_cruiser_3.png</img>
		<ship>PLAYER_SHIP_ANAEROBIC</ship>
		<multiDifficulty>1</multiDifficulty>
	</achievement>
</foo>
В связи с этим я бы не стал заморачиваться, а просто переводил бы что нужно, а потом просто заменял в остальных файлах какой-нибудь программой для массовой замены текста.

Есть варианты менее кривые: связаться с разработчиками и предложить им перевод, может, у них есть нормальный инструмент для локализации. Либо существует какая-то сторонняя программа для перевода.

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


Отправлено: 20:57, 14-10-2022 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Замена части строки с условием (sed, awk) DJ Mogarych Программирование в *nix 3 15-01-2020 13:30
CMD/BAT - Копирование группы файлов с условием APST Скриптовые языки администрирования Windows 8 28-04-2018 09:35
Помогите с двумя скриптами (резервное копирование и копирование с условием) n_i_x Программирование в *nix 3 21-06-2015 01:54
CMD/BAT - [решено] Копирование папок с условием sjaybez Скриптовые языки администрирования Windows 6 03-08-2014 22:19
CMD/BAT - [решено] .bat Копирование с условием TwoThrones Скриптовые языки администрирования Windows 1 09-01-2011 14:51




 
Переход