如何过滤确切的文件扩展名?
How to filter on exact file extension?
我在 DATA
文件夹中有 .las
和 .lasx
文件,它们具有相同的文件名。我试图在 *.las 文件上应用进程 仅 。但似乎通配符模式 *.las
还包括 *.lasx 文件:
for %%f in ("%DATA_PATH%\*.las") do
或
lasground -i "%DATA_PATH%\*.las" -merged
-merged
之前的参数应该只是我的*.las文件列表,但在我的测试中它总是包含*.lasx文件。
知道如何获取我所有的 .las 文件而不获取 .lasx 文件吗?
在提供文档和您正在使用的实际程序后,我会尝试这两个示例。
用所有文件名创建一个变量。
@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
Where
命令是一种更简单的直接过滤方法,即仅输出指定的扩展名:
@Where "%DATA_PATH%":*.las 2>Nul >"LasOnly.txt"
然后您可以使用 "LasOnly.txt"
作为 lasground
的输入,使用已经建议的 -lof
选项:
@lasground -lof "LasOnly.txt" -merged
我在 DATA
文件夹中有 .las
和 .lasx
文件,它们具有相同的文件名。我试图在 *.las 文件上应用进程 仅 。但似乎通配符模式 *.las
还包括 *.lasx 文件:
for %%f in ("%DATA_PATH%\*.las") do
或
lasground -i "%DATA_PATH%\*.las" -merged
-merged
之前的参数应该只是我的*.las文件列表,但在我的测试中它总是包含*.lasx文件。
知道如何获取我所有的 .las 文件而不获取 .lasx 文件吗?
在提供文档和您正在使用的实际程序后,我会尝试这两个示例。
用所有文件名创建一个变量。
@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
Where
命令是一种更简单的直接过滤方法,即仅输出指定的扩展名:
@Where "%DATA_PATH%":*.las 2>Nul >"LasOnly.txt"
然后您可以使用 "LasOnly.txt"
作为 lasground
的输入,使用已经建议的 -lof
选项:
@lasground -lof "LasOnly.txt" -merged