批处理脚本与命令行
Batch script vs command line
当我 运行 在 cmd 提示符下执行以下命令时它有效:
for /R %f in (*.shp) do ogr2ogr -nln merge -update -append merge.shp %f
但是当我从 .bat 文件中 运行 它时它不起作用。说 -nln 是出乎意料的。
我可以从 .bat 文件中 运行 这个吗?
%
字符对于命令行参数和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
当我 运行 在 cmd 提示符下执行以下命令时它有效:
for /R %f in (*.shp) do ogr2ogr -nln merge -update -append merge.shp %f
但是当我从 .bat 文件中 运行 它时它不起作用。说 -nln 是出乎意料的。
我可以从 .bat 文件中 运行 这个吗?
%
字符对于命令行参数和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