You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用命令行for循环结合gdal_translate批量转换.h5至.tif文件

Windows命令行批量将H5文件转TIF的正确写法

原代码的核心问题

  1. 目标文件名错误:原命令输出路径用C:/mypath/%i,会直接保留原H5文件的.h5后缀,导致生成100.h5而非100.tif
  2. 路径拼接问题:HDF5数据源的路径格式拼接有误,且路径大小写不一致(C:/MyPath/和C:/mypath/)可能引发识别异常
  3. 权限与路径解析问题:路径未加引号会导致含空格的目录解析失败,若目标目录需管理员权限,未提权会触发权限拒绝错误

修正后的命令

直接在CMD窗口运行:

FOR %i IN (*.h5) DO gdal_translate -of GTiff "HDF5:C:/MyPath/%i://subdataset" "C:/MyPath/%~ni.tif" -a_srs EPSG:XXXX -a_ullr -XX XX XX XX

写入批处理文件(.bat)运行:

@echo off
FOR %%i IN (*.h5) DO gdal_translate -of GTiff "HDF5:C:/MyPath/%%i://subdataset" "C:/MyPath/%%~ni.tif" -a_srs EPSG:XXXX -a_ullr -XX XX XX XX

关键修正点说明

  • %~ni(批处理中为%%~ni):提取不带扩展名的原文件名,确保输出文件为原文件名.tif
  • 给HDF5数据源和输出路径加双引号:避免路径含空格时出现解析错误
  • 统一路径大小写:保持C:/MyPath/格式一致,消除Windows路径识别歧义

注意事项

  • 替换//subdataset为HDF5文件实际子数据集路径,可通过gdalinfo HDF5:"C:/MyPath/100.h5"命令查看子数据集名称
  • 替换EPSG:XXXX为实际坐标系代码,-a_ullr后的参数替换为正确的地理范围值
  • 若仍报权限错误,右键点击命令提示符选择「以管理员身份运行」
  • 确保目标目录C:/MyPath/存在且你有读写权限

内容的提问来源于stack exchange,提问作者MedicineMan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 15:00:01