如何在批处理文件中使用gdal_calc

时间:2018-04-23 22:25:41

标签: batch-file gdal

我正在尝试使用带有批处理Windows文件的gdal从多个输入图像创建一个掩码文件。但是,当我使用“!”时系统发送错误在比较计算中,在第一轮之后,所有变量都读作字符串。 我的代码如下:

@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET mypath=F:\my_in_path\
SET path_salida=F:\my_out_path\
FOR /F %%i IN ('DIR /B %mypath%*.tif') DO (
    SET infile=%%i
    SET outfile=!infile!
    echo %mypath%!infile!
    echo %path_salida%!outfile!
    gdal_calc  -A %mypath%!infile! --outfile %path_salida%!outfile! --calc="2*(A==0)+1*(A==0)" --NoDataValue=0 --quiet 
)

1 个答案:

答案 0 :(得分:0)

由于我在评论后半天内未提供任何反馈,因此以下是测试并提供反馈的示例:

@Echo Off
Set "mypath=F:\my_in_path"
Set "path_salida=F:\my_out_path"
Set "calc_params=-A "%%A" --outfile "%path_salida%\%%~nxA" --calc="2*(A==0)+1*(A==0)" --NoDataValue=0 --quiet"

For %%A In ("%mypath%\*.tif") Do gdal_calc %calc_params%