Batch file CMD批处理文件GDAL-扩展for/f循环以转义临时文件

Batch file CMD批处理文件GDAL-扩展for/f循环以转义临时文件,batch-file,for-loop,cmd,gdal,Batch File,For Loop,Cmd,Gdal,在苦苦挣扎了一段时间后,我想到了如何从gdalinfo中提取每个地理参考jpg文件的坐标。我的问题是,我不知道如何在不需要临时文件的情况下完成所有操作。额外的行和临时文件增加了几个小时的处理时间 如何“合并”这些操作??没有临时文件,并且只通过每个文件一次>the.mmm将非常感谢您的帮助 for /R %%g in (*.jpg) do echo 0.000 0.000 > %%~png.mmt for /R %%g in (*.jpg) do gdalinfo %%g | finds

在苦苦挣扎了一段时间后,我想到了如何从gdalinfo中提取每个地理参考jpg文件的坐标。我的问题是,我不知道如何在不需要临时文件的情况下完成所有操作。额外的行和临时文件增加了几个小时的处理时间

如何“合并”这些操作??没有临时文件,并且只通过每个文件一次>the.mmm将非常感谢您的帮助

for /R %%g in (*.jpg) do echo 0.000 0.000 > %%~png.mmt

for /R %%g in (*.jpg) do gdalinfo %%g | findstr /i /C:"size is" /C:"lower left" /C:"upper right" >>%%~png.mmt

for /R %%g in (*.jpg) do echo 0.000 >> %%~png.mmt

for /R %%a in (*.mmt) do (for /F "tokens=1,2 delims=SizeisLowrftUpRgh,() " %%G IN (%%a) DO @echo %%G %%H >> %%~pna.mmm)
结果如下所示:

0.000 0.000 
1931 1448 
317600.000 6543562.880 
317677.240 6543620.800 
0.000

gdalinfo | findstr
提取我要查找的行。“for/f标记”从这些行中删除文本。

您已经完成了大部分工作:-)


伟大的你让我终于明白了逻辑:)唯一缺少的是|之前的^。至少让它为我工作。@user3023461-是的,我忘了
^
,谢谢。如果答案完全满足你的问题,不要忘记接受。只需单击答案左上角附近的复选标记。这样做可以让其他人知道问题已经得到了回答,给你2个声誉点,给回答者15个代表点。每个问题只能接受一个答案。一旦你达到15个代表,你就可以投票选出你认为有用的尽可能多的答案,甚至是其他人的问题的答案。
@echo off
for /r %%F in (*.jpg) do (
  echo 0.000 0.000
  for /f "tokens=1,2 delims=SizeisLowrftUpRgh,() " %%A in (
    'gdalinfo "%%F" ^| findstr /i /c:"size is" /c:"lower left" /c:"upper right"'
  ) do echo %%A %%B
  echo 0.000
)>"%%~pnF.mmm"