Страница 1 из 1

Использование ogr2ogr в .bat файлах

Добавлено: 06 сен 2018, 11:38
alladuh
Использую в батнике ogr2ogr и вот что заметил.
Запуск батника делаю из OSGeo4W Shell
Если я перед командой ogr2ogr использую переход в другую папку cd, то пишется, что ogr2ogr не является внутренней командой. Например:

Код: Выделить всё

cd C:\Users\***\Desktop\GeoJSON
ogr2ogr ...
Вывод: "ogr2ogr" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

А если я в shell вызываю последовательно команды:
сначала пишу

Код: Выделить всё

cd C:\Users\***\Desktop\GeoJSON
Происходит переход в папку, затем

Код: Выделить всё

ogr2ogr ...
Всё хорошо выполняется.

Также, если в скрипте не делать переход в другую папку, а переместить нужные файлы в директорию с shellом, то команда удачно выполняется. Но хотелось бы не перетаскивать файлы.

Кто-нибудь сталкивался с такой проблемой?

Вот так выглядит скрипт:

Код: Выделить всё

echo off
SET PATH=C:\Users\...\Desktop\GeoJSON
SET INPUT_FILE_NAME=test.json
SET OUTPUT_FILE_NAME=test.gml
SET OUTPUT_TYPE=GML
SET INPUT_FILE_NAME_WITHOUT_TYPE=test

SET PARAM_1_IN=FROM_OPORA
SET PARAM_1_OUT=NAME

SET PARAM_2_IN=FROM_OPORA
SET PARAM_2_OUT=NAME

SET PARAM_3_IN=FROM_OPORA
SET PARAM_3_OUT=NAME

cd %PATH%
ogr2ogr -f "%OUTPUT_TYPE%" %OUTPUT_FILE_NAME% %INPUT_FILE_NAME% -sql "SELECT %PARAM_1_IN% AS %PARAM_1_OUT% from %INPUT_FILE_NAME_WITHOUT_TYPE%"

Re: Использование ogr2ogr в .bat файлах

Добавлено: 06 сен 2018, 11:45
trir
Добавьте в переменную окружения PATH строку: c:\OSGeo4W\apps\gdal-dev\bin\;c:\OSGeo4W\bin\
viewtopic.php?style=1&f=27&t=4919

Re: Использование ogr2ogr в .bat файлах

Добавлено: 06 сен 2018, 14:45
alladuh
trir писал(а):
06 сен 2018, 11:45
Добавьте в переменную окружения PATH строку: c:\OSGeo4W\apps\gdal-dev\bin\;c:\OSGeo4W\bin\
viewtopic.php?style=1&f=27&t=4919
Добавил, та же ерунда получается

Re: Использование ogr2ogr в .bat файлах

Добавлено: 06 сен 2018, 15:44
alladuh
Нашёл ошибку.
У меня переменная для пути в файлам называлась PATH.
Видимо она зарезервирована, я заменил её на WAY и всё окей!
Спасибо за помощь!