如何使用GDAL TRANSFER转换文件的文件夹?

问题描述 投票:0回答:1

我有大约2000张图像,需要通过某些参数使用TIFJPG转换为GDAL。我需要通过使用CMD脚本来实现。到目前为止,这是我的脚本:

set "SourceFolder=C:\Tif\newimages\"
set "DestinationFolder=C:\Tif\temp"
set "CreatedFolder="

if not exist "%DestinationFolder%\" (
    md "%DestinationFolder%" 2>nul
    if not exist "%DestinationFolder%\" (
        echo Error: Failed to create folder "%DestinationFolder%"
        goto EndBatch
    )
    set "CreatedFolder=1"
)
for %%N in (%SourceFolder%*.tif) DO gdal_translate -of jpeg -a_nodata 0 -b 1 -b 2 -b 3 %%i %DestinationFolder%\%%i*jpg

:EndBatch
endlocal
pause

这将在CMD上产生以下错误消息:

ERROR 4: %i: No such file or directory

背景:

Windows环境(显然)OSGeo4W cmd运行脚本。

我正在寻找的是对我在脚本中做错的事情的解释,并提出了使之起作用的建议。

编辑:

我意识到gdal行末尾的命令应该是转换文件的源和目标。有什么办法解决此问题,因为我只需要在末尾定义目标文件夹即可。我将其作为一个无限循环工作,这当然不是最佳选择,因为图像数量超过2000。

cmd windows-10 gdal
1个回答
0
投票

仔细检查后,发现我为“ %% N”设置了一个值,后来又尝试使用“ %% i”。而且gdal命令应该是这个

DO gdal_translate -of jpeg -a_nodata 0 -b 1 -b 2 -b 3 %% N%DestinationFolder%\ %%〜nN.jpg

而不是:

DO gdal_translate -of jpeg -a_nodata 0 -b 1 -b 2 -b 3 %% i%DestinationFolder%\ %% i * jpg

© www.soinside.com 2019 - 2024. All rights reserved.