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 shell 中运行它。我已经在十六进制编辑器中打开了批处理文件并搜索了额外的换行符并返回字符,但我没有看到任何异常,所以 Python 似乎正在正确编写。

4

1 回答 1

4

gdal_merge一个批处理文件本身?

在这种情况下,您需要call在每一行之前输入以提示批处理文件在退出被调用的批处理文件时返回,否则新批处理文件中的退出调用将被视为真正的退出,因此应完全退出:

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.

于 2011-06-30T20:23:44.610 回答