↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
Временно не работает,
как войти читайте здесь!
Три рубля
18 ноября 2015
Aa Aa
#комповое

Пытаюсь перекомпилировать файлы формата .mo в .po при помощи msgunfmt.exe (утилита в пакете с Poedit). Пока получается только при помощи команды "Выполнить: C:\ Program Files\ Poedit\ GettextTools\ bin\ msgunfmt.exe filename.mo -o filename.po". Через командную строку сделать то же самое не получается, пишет: "error while opening "filename.mo" for reading: No such file or directory". Соответственно, написать bat-файл тоже не получается. Объясните мне, где я идиот? )-:

Level 2: а можно сделать так, чтобы батник перерабатывал все .mo-файлы, которые находятся с ним в одной папке, чтобы не выковыривать всякий раз их из \bin, и не прописывать вручную название каждого?
18 ноября 2015
18 комментариев
ДНИЩE--ЫЫЫЫ
скриншот скинь
Указать полный путь к файлу?
Sore wa himitsu desu, http://redload.ru/?v=gog.png
Файл лежит в одной папке с msgunfmt.exe
Cheery Cherry, как?
Повар Гной Онлайн
1) cmd.exe
help for

есть ли строка
"%~nI - из переменной %I выделяется только имя файла" ?

2) @echo off
:: copyLeft (L) ivan erohin
for %%I in (*.mo) do echo msgunfmt.exe %%~nI.mo -o %%~nI.po
@echo off
for %%i in (%~dp0\\*.mo) do (C:\\Program Files\\Poedit\\GettextTools\\bin\\msgunfmt.exe %%i -o %%~ni.po)
ivan_erohin, не нашёл, но там много текста, мог и пропустить.
Повар Гной Онлайн
Три рубля
для поиска в "много текста неосилил" применяется grep, less, редирект >> file.txt и редактор.
Level2: есть команда for
for %i in (w:\myfolder\*.mo) do poedit %i -o %~dpni.po
poedit - путь к poedit.exe
если в батнике, а не из командной строчки - то заменить одинарный % на двойной %%
ivan_erohin, есть такая строка.
level 2

Jak, не работает.
Yugo , не работает.
ivan_erohin, что-то делает, но .po-файлы не появляются.
Так.
1. Почему переменная %%i ?
2. (%~dp0\*.mo) — здесь должно быть % или %% ? (*mo) не подходит, мне не нужно конвертировать ВСЕ .mo-файлы, а только те, что в одной папке с батником.
3. В структуре команды пока не разобрался.
Повар Гной Онлайн
> что-то делает,

"echo " я добавил для отладки (отладочный лог - редиректом >> в файл).
если его убрать, будет запускаться тот exe.
Закавычил путь в варианте Jak, и всё заработало.
Этамагия!
ДНИЩE--ЫЫЫЫ
Три рубля
не магия
пробел воспринимается как разделитель аргументов
но с кавычками - нет
Sore wa himitsu desu, хотел сказать, что там нет пробелов, и вдруг нашёл.
level 3: сделать так, чтобы .mo-файлы в процессе удалялись.
Три рубля

for %%i in (%~dp0\*.mo) do (
C:\Program Files\Poedit\GettextTools\bin\msgunfmt.exe %%i -o %%~ni.po
del /q %%i
)

%%i - переменная с именем файла (включая полный путь)
%~dp0*.mo - все файлы в текущей папке (%~dp0) с расширением *.mo
%%~ni.po - "%%~ni": имя файла без пути, ".po": новое расширение

И да, я ж не проверял работу %)
ПОИСК
ФАНФИКОВ









Закрыть
Закрыть
Закрыть