繁体   English   中英

我正在尝试在批处理文件中执行许多命令。 我需要对一批.tiff文件执行处理

[英]I'm trying to perform a number of commands in a batch file. I need to perform a process on a batch of .tiff files

我正在尝试在批处理文件中执行一系列命令。 我需要对一批.tiff文件执行一个过程,然后将输出的.tiff文件移动到另一个位置,并对原始.tiff文件执行另一个过程。 我正在尝试的代码如下;

for %f in (*.tiff) do gdaldem_slope_batch.bat %~nf & move /-y "C:\Users\wmiller\Desktop\temp\*slope*.tiff" "C:\Users\wmiller\Desktop\trial" & for %f in (*.tiff) do gdaldem_hillshade_batch.bat %~nf & move /-y "C:\Users\wmiller\Desktop\temp\*hillshade*.tiff" "C:\Users\wmiller\Desktop\trial" 

我的问题是它在第一个文件上执行第一个命令,然后将其移动到新位置,然后依次在所有文件上运行第二个命令,并将它们移动到新位置。 然后,它对第二个文件执行第一个命令,随后尝试对所有文件运行第二个命令,以尝试创建已存在的文件的副本。

任何建议,这是我第一次尝试编程(以防万一),所以要谦虚。

谢谢

我需要对一批.tiff文件执行一个过程,然后将输出的.tiff文件移动到另一个位置,并对原始.tiff文件执行另一个过程。

然后,您要对命令进行分组(也已更改为%%批处理文件语法):

for %%f in (*.tiff) do ( 
  call gdaldem_slope_batch.bat %%~nf 
  move /-y "C:\Users\wmiller\Desktop\temp\*slope*.tiff" "C:\Users\wmiller\Desktop\trial"
)
for %%f in (*.tiff) do (
  call gdaldem_hillshade_batch.bat %%~nf
  move /-y "C:\Users\wmiller\Desktop\temp\*hillshade*.tiff" "C:\Users\wmiller\Desktop\trial"
)

如果你真的想这个在一行中的问题,尽管通常气馁, 可以通过分组整个第一完成for命令如下:

(for %%f in (*.tiff) do call gdaldem_slope_batch.bat %%~nf & move /-y "C:\Users\wmiller\Desktop\temp\*slope*.tiff" "C:\Users\wmiller\Desktop\trial") & for %%f in (*.tiff) do call gdaldem_hillshade_batch.bat %%~nf & move /-y "C:\Users\wmiller\Desktop\temp\*hillshade*.tiff" "C:\Users\wmiller\Desktop\trial"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM