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

Показать сообщение отдельно

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


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

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


Цитата Iska:
VokaMut, понятней не стало. Что именно у Вас не получается? »
Код: Выделить весь код
chcp 866

::файл для редактирования
set infile=1\file.po

::первое слово которое ищем в файле для замены
set find=findword

::последующие
set var1=Слово1
set var2=Слово2
set var3=Слово3
set var4=Слово4

::цикл проходит по каждой переменной выше
for /f "tokens=2* delims==" %%i in ('set var') do ( 
::задаем заменяющее слово
set replace=%%i

::заменяем его
@echo off
setlocal enabledelayedexpansion
for /F "tokens=* delims=," %%n in (!infile!) do (
set LINE=%%n
set TMPR=!LINE:%find%=%replace%!
echo !TMPR!>>tmp.txt
)
move tmp.txt %infile%

::преобразуем file.po в file.mo
msgfmt file.po -o file.mo

::архивируем всю папку с этим файлом и исключаем file.po
"C:\PROGRA~1\WinRAR\rar.exe" a -m5 -s -y -ep1 -r -x*"file.po" "2\%replace%.rar" "1\*.*"

::теперь ищем заменяеющее слово и заменяем его на следующее
set find=%rerep%

::сделал паузу для проверки
pause
)
После просмотра увидел что:
Код: Выделить весь код
set replace=%%i
Задается правильно, но в итоге переменная find:
Код: Выделить весь код
set find=%rerep%
Получается пустая...

Для проверки работоспособности архивирование и компилирование из po в mo можно опустить

Отправлено: 08:15, 11-11-2012 | #5