我有几个具有 tif 格式的文件。我想将它们转换为 ENVI 格式。我对一个文件成功了,但我想对目录中的其余文件执行此操作。
the first file in the directory is:Ser_W55_20100101_A.tif.
the second file in the directory is:Ser_W55_20100102_A.tif and so on .....
Run Code Online (Sandbox Code Playgroud)
我在 Windows 上工作,所以我只需启动 cmd,然后编写命令:
C:\Users>gdal_translate -of "ENVI" D:\Ser_W55_20100101_A.tif D:\Ser_W55_20100101_A.img
Run Code Online (Sandbox Code Playgroud)
这很有效。关于如何对所有文件执行此操作并返回相同名称(从 (tif) 更改为 ENVI)的任何想法
您可以为此创建一个批处理文件,执行以下操作:
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET mypath=D:\test\
FOR /F %%i IN ('DIR /B %mypath%*.tif') DO (
SET infile=%%i
SET outfile=!infile:.tif=.img!
gdal_translate -of "ENVI" %mypath%!infile! %mypath%!outfile!
)
Run Code Online (Sandbox Code Playgroud)
这只在当前目录中运行,如果您想包含子文件夹,请将该/S标志添加到 dir 语句中。我可能会先检查一下发生了什么,为此,您可以ECHO在 gdal cmd 前面添加一个,所以,并在末尾ECHO gdal_translate...添加一个。PAUSE这样它只会将命令打印到控制台,而不是实际运行它们。