Ykidia
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: @echo off setlocal enableextensions enabledelayedexpansion set kmlfiles_input_dir=%~dp0 set kmlfiles_output_dir=%~dp0 set kmlfiles_output_lngpostfix=_ru if not ""=="%1" ( set kmlfiles_input_dir=%1 ) if not ""=="%2" ( set kmlfiles_output_dir=%2 ) if not ""=="%3" ( set kmlfiles_output_lngpostfix=%3 ) if not exist "!kmlfiles_output_dir!" ( md "!satellites_files_dir!" || ( echo *** Could not find directory !kmlfiles_output_dir!. Exiting. goto :ENDOFSCRIPT ) ) for /f "usebackq delims=*" %%L in (`dir /b /s /a-d "!kmlfiles_input_dir!\*.kml"`) do ( echo --------------------------------------------------------------------- echo KML file: %%~nxL echo --------------------------------------------------------------------- set csvfile=!kmlfiles_output_dir!\%%~nL!kmlfiles_output_lngpostfix!.csv set tmpfile=!kmlfiles_output_dir!\%%~nL!kmlfiles_output_lngpostfix!.tmp echo.>"!csvfile!" echo. set kmlfile=%%L set kn= set ks= for /f "tokens=2,3 delims=<>" %%A in ('findstr /i "<name> <state>" "!kmlfile!"') do ( for /f %%C in ('echo %%A^|findstr /i "name"') do ( call :WR call :TR "%%B" kn set ks= ) for /f %%C in ('echo %%A^|findstr /i "state"') do ( call :TR "%%B" ks call :WR set kn= set ks= ) ) call :WR echo. echo Done ^^! echo. ) pause :ENDOFSCRIPT endlocal goto :RETURN :WR REM ::***************************************************************************************************** REM :: Function : Words To Restricted Symbols REM :: Description : replaces words in !kn! and !ks! to restricted symbols and outputs string to !csvfile! REM :: On enter : kn, ks, csvfile REM :: On return : kn, ks REM :: Used : REM ::***************************************************************************************************** if not ""=="!kn!" ( echo !kn!^;!ks! echo !kn!^;!ks!>>"!csvfile!" ) goto :RETURN :TR REM ::*************************************************** REM :: Function : Translate REM :: Description : Translates string to russian REM :: On enter : %1 (must be in quotes, i.e. "text") REM :: On return : %2 REM :: Used : %Y, %Z, _tmp1, _tmp2 REM ::*************************************************** set translated_string= if not ""==%1 ( set _tmp1=%1 set _tmp1=!_tmp1:"=! <nul set /p _tmp2=!_tmp1!>"!tmpfile!" for /f "tokens=3 delims=:" %%Y in ('curl -v -A "Opera/9.80 (Windows NT 6.0; U; ru) Presto/2.8.131 Version/11.11" --data-urlencode "text@!tmpfile!" "http://translate.google.ru/translate_a/t?client=x" 2^>nul ^|findstr /i " ""orig"""') do ( set translated_string=%%Y set translated_string=!translated_string:"=,! for /f "tokens=1 delims=," %%Z in ("!translated_string!") do ( set translated_string=%%Z ) ) del /f /q "!tmpfile!" 2>nul ) set %2=!translated_string! goto :RETURN :RETURN |
| Всего записей: 242 | Зарегистр. 03-03-2005 | Отправлено: 16:18 07-06-2012 | Исправлено: Ykidia, 16:19 07-06-2012 |
|