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

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

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

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


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

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


День Добрый!
В понимании что вроде подобные темы имеются но ответа ненашел.
Итак, имеются 2 файла (языки перевода)
имеют вид
Код: Выделить весь код
COM_VIRTUEMART_ORDER_PRINT_PAYMENT_TAX="Payment Tax"
COM_VIRTUEMART_ORDER_PRINT_PO_DATE="Order Date"
COM_VIRTUEMART_ORDER_PRINT_PO_NUMBER="Order Number"
и такие в другом
Код: Выделить весь код
COM_VIRTUEMART_ORDER_PRINT_PAYMENT_TAX="Налог"
COM_VIRTUEMART_ORDER_PRINT_PO_DATE="Дата заказа"
COM_VIRTUEMART_ORDER_PRINT_PO_NUMBER="Номер заказа"
строк разумеется гораздо больше, это лишь для премера как они выглядят.
можно было просто их заменить и все но нет. в анг есть строки которых нет в переведенном.
так вот хочется сделать перенос с русского в англ документ переведенных строк а непереведенные оставить как есть. и потом я переведу их.
неизменные как видно символы = и ""
вот не знаю как реализовать сравнение первой части строки до = и заменой из второго документа что после =
строки понятно могут быть не по порядку так как в анг имеются вновь добавленные без перевода.
Надеюсь подробно. Спасибо кто откликнется!

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

 

Аватара для gora

Ушёл из жизни


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

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


Код: Выделить весь код
@Echo Off
Setlocal EnableDelayedExpansion
Set en=E:\Temp 1\en.txt
Set ru=E:\Temp 1\ru.txt
Set new=E:\Temp 1\new.txt

For /F "tokens=* usebackq delims=" %%i In ("%en%") Do Set $%%i
For /F "tokens=* usebackq delims=" %%i In ("%ru%") Do Set $%%i
(For /F "tokens=* delims=" %%i In ('Set $') Do (Set ti=%%i& Echo !ti:~1!))>"%new%"
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:47, 26-05-2013 | #2



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

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


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


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

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


gora, спасибо, почти супер! только мал мала остается проблемка после обработки выглядит следующим образом
Код: Выделить весь код
C:\Windows\system32>(Set ti=$COM_VIRTUEMART_CART_ORDERDONE_THANK_YOU="Спасибо за заказ"  & Echo !ti:~1! ) 
COM_VIRTUEMART_CART_ORDERDONE_THANK_YOU="Спасибо за заказ"

C:\Windows\system32>(Set ti=$COM_VIRTUEMART_CART_OVERVIEW="Корзина"  & Echo !ti:~1! ) 
COM_VIRTUEMART_CART_OVERVIEW="Корзина"

C:\Windows\system32>(Set ti=$COM_VIRTUEMART_CART_PAYMENT="Оплата"  & Echo !ti:~1! ) 
COM_VIRTUEMART_CART_PAYMENT="Оплата"
может из за того что винда х64 и приходится от админа запускать..
ну и лишняя строка ни к чему тоже сбственно пустая.
Атак прям супер.

Отправлено: 17:36, 26-05-2013 | #3


Аватара для gora

Ушёл из жизни


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

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


Цитата alexmoreman:
мал мала остается проблемка после обработки выглядит следующим образом »
Что именно так выглядит? Файл new.txt? И про какую лишнюю строку речь?
У меня win7 х64, проверял на Ваших данных все работает.
Прикрепите свои файлы в архиве к посту, может у Вас там что-то хитрое присутствует.

Отправлено: 18:23, 26-05-2013 | #4


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


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

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


Вложения
Тип файла: rar eng_to_rus_in_CMD.rar
(24.4 Kb, 4 просмотров)

gora, Вот прилагаю архив. там есть некие переменные может и из за них.

Отправлено: 23:50, 26-05-2013 | #5


Ветеран


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

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


Цитата alexmoreman:
Код: Выделить весь код
C:\Windows\system32>(Set ti=$COM_VIRTUEMART_CART_ORDERDONE_THANK_YOU="Спасибо за заказ" & Echo !ti:~1! ) 
COM_VIRTUEMART_CART_ORDERDONE_THANK_YOU="Спасибо за заказ"
C:\Windows\system32>(Set ti=$COM_VIRTUEMART_CART_OVERVIEW="Корзина" & Echo !ti:~1! ) 
COM_VIRTUEMART_CART_OVERVIEW="Корзина"
C:\Windows\system32>(Set ti=$COM_VIRTUEMART_CART_PAYMENT="Оплата" & Echo !ti:~1! ) 
COM_VIRTUEMART_CART_PAYMENT="Оплата"
»
Причина произошедшего -- запуск BAT-файла без @ECHO OFF, хотя у gora эта команда присутствует в коде.

alexmoreman, Вы умеете работать с BAT-файлами?
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:00, 27-05-2013 | #6


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


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

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


Georgio, разумеется я ими пользуюсь по необходимости. но не могуч в больших знаниях. и @ECHO OFF я не забыл поставить но не фурычит нормально, ничего не придумываю. Все равно спасибо ребят огромное! я увы справился ручками раз как говорится головы нет)))

Отправлено: 09:33, 27-05-2013 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - [решено] Замена строк из файла строками из файла в файле bcubbs@fb Скриптовые языки администрирования Windows 6 24-01-2013 17:22
CMD/BAT - [решено] Сравнение файлов и замена значения из одного файла в другой. Aleks911tat Скриптовые языки администрирования Windows 12 25-08-2012 22:27
CMD/BAT - [решено] Поиск и замена файла Константин_Покровский@fb Скриптовые языки администрирования Windows 2 03-05-2012 22:16
PowerShell - [решено] Поиск и вставка информации из одного csv-файла в другой IvanXXL Скриптовые языки администрирования Windows 1 20-07-2011 12:48
CMD/BAT - [решено] Поиск, остановка процесса, поиск и замена файла на разных дисках Gawr33 Скриптовые языки администрирования Windows 11 23-04-2011 23:09




 
Переход