Batch file 在grib文件文件夹上迭代grib工具

Batch file 在grib文件文件夹上迭代grib工具,batch-file,grib,grib-api,Batch File,Grib,Grib Api,我正在尝试在批处理文件中使用GRIB工具(我在Windows 7上)将大量GRIB文件批量转换为netCDF 我正在使用以下代码: for /f %%f in (`dir /b O:\Praksa\incadata\2014\01\01`) do echo %%f grib_to_netcdf -D NC_FLOAT -o *.nc *.grb 但当我运行时,除了CMD的快速打开和关闭之外,似乎什么都没有发生 我可能遗漏了一些语法错误,但我的主要问题是:我可以在grib工具

我正在尝试在批处理文件中使用GRIB工具(我在Windows 7上)将大量GRIB文件批量转换为netCDF

我正在使用以下代码:

for /f %%f in (`dir /b O:\Praksa\incadata\2014\01\01`) 
   do 
     echo %%f grib_to_netcdf -D NC_FLOAT -o *.nc *.grb
但当我运行时,除了CMD的快速打开和关闭之外,似乎什么都没有发生

我可能遗漏了一些语法错误,但我的主要问题是:我可以在grib工具语句中使用通配符(*)吗? 此外,目录路径名中的空格是否有问题


谢谢

你的语法错了
cmd
对语法非常挑剔。试试这个:

@echo off
for /f %%A in ('dir /b /a-d z:\*') do (
     echo %%~fA grib_to_netcdf -D NC_FLOAT -o %%~dpnA.nc %%~dpnA.grb
)

%%~fA
为您提供完整的限定文件名,
%%~dpnA
仅提供D驱动、path和Name。有关这些修饰符,请参见
以获取/?
<代码>目录/a-d不包括文件夹名称。有关详细信息,请参见
dir/?

dir
命令周围的反勾号更改为单引号
。在下一行添加
pause
指令以保持窗口打开,或者最好从命令提示符运行,不要单击批处理。