【发布时间】:2015-12-28 20:54:03
【问题描述】:
我正在使用批处理文件来转换许多气候文件 (*.nc) 的数据类型。我使用 for 循环遍历文件。但是,由于某种原因,它无法正常工作。
这是我的代码:
@echo off
for /l %%x in (2071,1,2100) do (
pause
C:\NCO\ncap2 -s prec=float(prec) Prec_Order_%%x.nc Prec_Order_F_%%x.nc
C:\NCO\ncap2 -s Tavg=float(Tavg) Tavg_Order_%%x.nc Tavg_Order_F_%%x.nc
C:\NCO\ncap2 -s Tmax=float(Tmax) Tmax_Order_%%x.nc Tmax_Order_F_%%x.nc
C:\NCO\ncap2 -s Tmin=float(Tmin) Tmin_Order_%%x.nc Tmin_Order_F_%%x.nc
C:\NCO\ncap2 -s Wspd=float(Wspd) Wspd_Order_%%x.nc Wspd_Order_F_%%x.nc
C:\NCO\ncap2 -s Srad=float(Srad) Srad_Order_%%x.nc Srad_Order_F_%%x.nc
C:\NCO\ncap2 -s Hspec=float(Hspec) Hspec_Order_%%x.nc Hspec_Order_F_%%x.nc
)
pause
程序在第一次暂停时不起作用。我已经仔细检查过,但找不到问题出在“for /l %%x in (2071,1,2100) do (”这一行。
【问题讨论】:
-
我猜你需要在
ncap2命令行中转义所有),也就是说,在它们前面加上^;对于(,不需要这样的东西......
标签: batch-file for-loop