Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Замена текста (http://forum.oszone.net/showthread.php?t=259585)

Fevzy 28-04-2013 18:06 2141200

Замена текста
 
Помогите пожалуйста...
Есть файл под названием LINKDATA0.BIN, размер файла очень большой, приблизительно 2 гига
в этом файле нужно заменить одно предложение на другое
я сам в этом не мостак, но можете составить образец бат файла, чтоб заменял одно предложение в файле на другое

Пример:
Оригинал => Замена

Заранее благодарен

Georgio 28-04-2013 20:00 2141266

Простой вариант для одной замены:

Код:

SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "tokens=*" %%I IN (LINKDATA0.BIN) DO (
SET VAR=%%I
ECHO !VAR:Оригинал=Замена!>>LINKDATA0_new.BIN
)

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

Fevzy 28-04-2013 20:04 2141269

а если много значений надо заменить?

Цитата:

Цитата Georgio
Простой вариант для одной замены: »

не работает почему то

Georgio 28-04-2013 20:21 2141279

Код:

SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "tokens=*" %%I IN (LINKDATA0.BIN) DO (
SET VAR=%%I
SET VAR1=!VAR:Оригинал 1=Замена 1!
SET VAR2=!VAR1:Оригинал 2=Замена 2!
SET VAR3=!VAR2:Оригинал 3=Замена 3!
::::::::::::::::::и. т. д.:::::::::::::::::::::::
SET VARn=!VARn-1:Оригинал n=Замена n!
ECHO !VARn!>>LINKDATA0_new.BIN
)

BAT-файл должен находиться в одной папке с файлом LINKDATA0.BIN. Файл LINKDATA0_new.BIN создастся там же.

Fevzy 28-04-2013 20:39 2141288

спасибо

Цитата:

Цитата Georgio
BAT-файл должен находиться в одной папке с файлом LINKDATA0.BIN. Файл LINKDATA0_new.BIN создастся там же. »

с малыми файлами работает с большими нет, а может ему мешает 0 байт в файлах

Georgio 28-04-2013 20:55 2141302

Поясните:
Цитата:

Цитата Fevzy
а может ему мешает 0 байт в файлах »


Fevzy 28-04-2013 20:57 2141304

в файле имеется пустышка и не одна, после каждого предложения, значение в хексе 00

кароче, начну с начала,

я локализатор (переводчик игр), и в данный момент перевожу игру Dynasty warriors 7 (она на японском). Файлы и текст у них спрятан в линкдатах, и чтоб не мучатся в хексе, попросил у вас патч написать. в этой линкдате спрятан весь текст, текстуры, и прочие принадлежности, но мне нужен текст! иностранцам удалось создать патч, вот он http://waper.ru/file/1943900/downloa...EngPatchv2.rar, посоветуйте чтото

Georgio 28-04-2013 21:10 2141317

Пустые строки не мешают. А вот бинарные (не текстовые) файлы обработать практически нельзя (команда ECHO не выполнится или выполнится с ошибками).

Fevzy 28-04-2013 21:17 2141328

можешь, патч американцев посмотреть? объяснить как с ним работать?

Georgio 28-04-2013 21:22 2141333

Спасибо, не надо. Это другая тема.


Время: 07:37.

Время: 07:37.
© OSzone.net 2001-