我在.las
文件夹中有.lasx
和DATA
个文件,它们具有相同的文件名。我正在尝试仅对* .las文件应用进程。但是通配符模式*.las
似乎还包含* .lasx文件:
for %%f in ("%DATA_PATH%\*.las") do
或
lasground -i "%DATA_PATH%\*.las" -merged
-merged
之前的参数应该只是我的* .las文件的列表,但是在我的测试过程中,它始终包含* .lasx文件。
关于如何不获取所有.lasx文件的任何想法?
答案 0 :(得分:4)
在提供了文档和您正在使用的实际程序之后,我将尝试这两个示例。
使用所有文件名创建变量。
@ECHO OFF
for %%G in ("%DATA_PATH%\*.las") do (
IF /I "%%~xG"==".las" call set list=%%list%% "%%G"
)
lasground -i %list% -merged
列出文件并使用-lof选项。
@ECHO OFF
(for %%G in ("%DATA_PATH%\*.las") do (
IF /I "%%~xG"==".las" echo %%G
)
)>List.txt
lasground -lof List.txt -merged
答案 1 :(得分:2)
Where
命令是一种直接过滤此结果的简单方法,即仅输出指定的扩展名:
@Where "%DATA_PATH%":*.las 2>Nul >"LasOnly.txt"
然后您可以按照建议使用"LasOnly.txt"
选项将lasground
用作-lof
的输入:
@lasground -lof "LasOnly.txt" -merged