批处理脚本vs命令行

当我在cmd提示符运行下面的命令时,它的工作原理:

for /R %f in (*.shp) do ogr2ogr -nln merge -update -append merge.shp %f 

但是当我从.bat文件运行它不起作用。 说 – 恩是意想不到的。

有反正我可以运行这个.bat文件。

Solutions Collecting From Web of "批处理脚本vs命令行"

%字符对命令行参数和FOR参数有特殊的含义。

要将百分比视为常规字符,请将其加倍: %%

当你从一个批处理文件执行它时,你应该这样写:

 @echo on for /R %%f in (*.shp) do ogr2ogr -nln merge -update -append merge.shp %%f pause 

有关更多信息,请参阅: http : //ss64.com/nt/syntax-esc.html