|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] BAT Либо что-то с заменой строк в файле |
|
CMD/BAT - [решено] BAT Либо что-то с заменой строк в файле
|
Новый участник Сообщения: 9 |
Здравствуйте, появилась задача в которой нужно заменить в файле куча текста
Вот пример текста String_ID Skill_Description 640002002 3초 마다 HP <VALUE_FLOAT!op_div=-100>% 감소 640002109 3초 마다 HP <VALUE_FLOAT!op_div=-100>% 감소 640009925 이동 불가 640010116 모든 행동 불가 640010319 이동 속도 <VALUE_FLOAT!op_div=-100>% 감소 640010432 이동 불가 String_ID Skill_Description 640002004 Every 3Sec HP <VALUE_FLOAT!op_div=-100>% Decrease 640002106 Every 3Sec HP <VALUE_FLOAT!op_div=-100>% Decrease 640009919 Cannot Move 640010110 Cannot perform a action 640010316 Move Speed <VALUE_FLOAT!op_div=-100>% Decrease 640010430 Cannot Move Помогите как с этим можно разобраться, в оригинале каждый раз меняется ID строчек и получается весь перевод нужно менять каждый раз, и притом меняется очерёдность строк, и поэтому тупое копирование в ексель и замена всех айди на оригенал не получится, нужно менять оригенал текста на перевод например из файла где строки стоят паралельно оригенал и перевод, и заменять именно этот текст. 3초 마다 HP <VALUE_FLOAT!op_div=-100>% 감소 <------ Every 3Sec HP <VALUE_FLOAT!op_div=-100>% Decrease 3초 마다 HP <VALUE_FLOAT!op_div=-100>% 감소 <------ Every 3Sec HP <VALUE_FLOAT!op_div=-100>% Decrease 이동 불가 <------ Cannot Move 모든 행동 불가 <------ Cannot perform a action 이동 속도 <VALUE_FLOAT!op_div=-100>% 감소 <------ Move Speed <VALUE_FLOAT!op_div=-100>% Decrease 이동 불가 <------ Cannot Move Менять в ручную не реал, так как там 503 строки с этим... а в новом оригинале уже 530, и всё конечно перемешано и имеет новые ID Есть логические идеи на счет этого но реализацию их я не знаю Чисто текст который нужно заменить я могу положить в один фаил, а текст на который нужно заменить я могу положить в другой, и они будут иденьтичны по строчкам, тоесть строка 1 будет соответствовать строке в файле в котором лежит замена, то есть взять например первую строчку заменить и перейти к другой: Найти строчку с текстом из файла "B" в файле "A" и заменить строчкой с текстом из файла "С" не заменяя всего содержимого строчки а заменяя только текст из файла "B" и переход на следующую строчку из файла "B" вот так... Извените что так дотошно описываю, но это как бы и для меня, что я описал точно что я хотел сказать... Плииз помогите! |
|
Отправлено: 09:03, 17-09-2012 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата ASIDS:
' файл скрипта в кодировке UTF-16 Set FSO = CreateObject("Scripting.FileSystemObject") ' исходный файл в кодировке UTF-16 F = "e:\Temp\test.txt" ' получаемый файл в кодировке UTF-16 F2 = "e:\Temp\test2.txt" Dim dict(4,1) ' словарь исходных фраз dict(0,0) = "3초 마다" dict(1,0) = "감소" dict(2,0) = "이동 불가" dict(3,0) = "모든 행동 불가" dict(4,0) = "이동 속도" ' словарь переведенных фраз dict(0,1) = "Every 3Sec" dict(1,1) = "Decrease" dict(2,1) = "Cannot Move" dict(3,1) = "Cannot perform a action" dict(4,1) = "Move Speed" Set rd_file = FSO.OpenTextFile(F, 1, , -1) Buffer = rd_file.ReadAll rd_file.Close For i = 0 To UBound(dict, 1) Buffer = Replace(Buffer, dict(i,0), dict(i,1)) Next Set wr_file = FSO.OpenTextFile(F2, 2, True, -1) wr_file.Write Buffer wr_file.Close |
|
Отправлено: 12:49, 17-09-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Эм... спс но я писал ещё про то что "словарь исходных фраз" и "словарь переведенных фраз" он довольно велик...
Их аж 503 строк... и это перед каждым нужно будет писать dict(0,0) = ""? |
Отправлено: 13:06, 17-09-2012 | #3 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать ну вроде как сделал
![]() Спс за помощь! Добавил ко всем 503 строкам это dict(0,0) через эксель XD |
Последний раз редактировалось ASIDS, 17-09-2012 в 14:02. Отправлено: 13:44, 17-09-2012 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - Удаление строк в REG файле | gen0m.rsw | Скриптовые языки администрирования Windows | 9 | 28-09-2011 18:03 | |
[решено] Количество строк в файле | 0xDEADBEEF | AutoIt | 3 | 25-01-2010 21:47 | |
какой BIOS лучше на мамку ASUS P5B-VM 1004 либо 0901 либо 0504 либо 0405 либо 0307 | paljch | Материнские платы и память | 1 | 12-11-2009 23:27 | |
VBS/WSH/JS - Обработка строк в файле с помошью VBS | rfcr | Программирование и базы данных | 3 | 07-03-2006 22:40 | |
Как оставить в файле Х первых строк? | Dan | Вебмастеру | 10 | 19-10-2002 00:41 |
|