Будет запущена только одна строка этого командного файла

1
gdal_merge -o C:\test\RasterMerge\p023r027\p023r027_7t20010623_z16_merged.tif -seperate -q -v C:\test\RasterMerge\p023r027\p023r027_7t20010623_z16_merged.tif C:\test\RasterMerge\p023r027\p023r027_7t20010623_z16_nn10.tif C:\test\RasterMerge\p023r027\p023r027_7t20010623_z16_nn20.tif 
gdal_merge -o C:\test\RasterMerge\p024r027\p024r027_7t19990828_z16_merged.tif -seperate -q -v C:\test\RasterMerge\p024r027\p024r027_7t19990828_z16_nn10.tif C:\test\RasterMerge\p024r027\p024r027_7t19990828_z16_nn20.tif
gdal_merge -o C:\test\RasterMerge\p024r027\p023r026\p023r026_7t20001010_z16_merged.tif -seperate -q -v C:\test\RasterMerge\p024r027\p023r026\p023r026_7t20001010_z16_nn10.tif C:\test\RasterMerge\p024r027\p023r026\p023r026_7t20001010_z16_nn20.tif 
gdal_merge -o C:\test\RasterMerge\p024r027\p024r026\p024r026_7t20000729_z16_merged.tif -seperate -q -v C:\test\RasterMerge\p024r027\p024r026\p024r026_7t20000729_z16_nn10.tif C:\test\RasterMerge\p024r027\p024r026\p024r026_7t20000729_z16_nn20.tif 
gdal_merge -o C:\test\RasterMerge\p024r027\p023r026\p023r028\p023r028_7t20000519_z16_merged.tif -seperate -q -v C:\test\RasterMerge\p024r027\p023r026\p023r028\p023r028_7t20000519_z16_nn10.tif 

C:\test\RasterMerge\p024r027\p023r026\p023r028\p023r028_7t20000519_z16_nn20.tif 

Примечание. Я удалил остальные 5 имен файлов из каждой команды, чтобы сделать ее более читаемой. Я работаю над инструментом Python, который будет создавать пакетный файл для меня, но когда я пытаюсь запустить этот.bat, все, что я получаю, это первая команда, успешно запущенная, а затем возвращающаяся на консоль. Я запускаю его в оболочке FWTools. Я открыл командный файл в шестнадцатеричном редакторе и искал дополнительные символы новой строки и возвращает символы, но я не вижу ничего необычного, поэтому Python, кажется, правильно пишет.

  • 1
    Хотя это не совсем проблема ГИС, вам может повезти, задав свой вопрос по адресу gis.stackexchange.com . Здесь тоже все хорошо, поскольку это (возможно) скорее проблема с питоном, а не то, что связано с инструментом ГИС, который вы используете.
  • 1
    Не могли бы вы привести пример, который мы можем использовать для воспроизведения ошибки? Как описано здесь .
Теги:
batch-file
gdal

1 ответ

4

gdal_merge пакетный файл?

В этом случае вам нужно ввести call перед каждой строкой, чтобы пригласить командный файл вернуться при выходе из вызываемого пакетного файла, иначе вызов exit в новом пакетном файле будет рассматриваться как реальный выход, поэтому должен выйти полностью:

call gdal_merge -o C:\test\RasterMerge\p023r027\p023r027_7t20010623_z16_merged.tif -seperate -q -v C:\test\RasterMerge\p023r027\p023r027_7t20010623_z16_merged.tif C:\test\RasterMerge\p023r027\p023r027_7t20010623_z16_nn10.tif C:\test\RasterMerge\p023r027\p023r027_7t20010623_z16_nn20.tif 
call gdal_merge -o C:\test\RasterMerge\p024r027\p024r027_7t19990828_z16_merged.tif -seperate -q -v C:\test\RasterMerge\p024r027\p024r027_7t19990828_z16_nn10.tif C:\test\RasterMerge\p024r027\p024r027_7t19990828_z16_nn20.tif
...

(также возможно, что сам python запускается с использованием командного файла, чем то же самое, но, возможно, вы также можете использовать call python gdal_merge.py -o...)

Если это не пакетный файл, попробуйте использовать start/B вместо call как это приведет к откату новой фоновой задачи. Если вам нужно, чтобы они вызывались последовательно, а не параллельно, просто используйте start/B/WAIT.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню