Как отфильтровать по точному расширению файла? - PullRequest
0 голосов
/ 23 декабря 2018

У меня есть .las и .lasx файлы с одинаковым именем в папке DATA.Я пытаюсь применить процессы к * .las файлам только .Но, похоже, шаблон подстановки *.las также включает * .lasx файлы:

for %%f in ("%DATA_PATH%\*.las") do

или

lasground -i "%DATA_PATH%\*.las" -merged

Параметр перед -merged должен быть списком моих* .las файлы только, но во время моих тестов он всегда включает * .lasx файлы.

Любая идея о том, как получить все мои файлы .las без получения файлов .lasx?

Ответы [ 2 ]

0 голосов
/ 23 декабря 2018

Команда Where - это более простой способ фильтрации напрямую, т. Е. Вывести только указанное расширение:

@Where "%DATA_PATH%":*.las 2>Nul >"LasOnly.txt"

Затем можно использовать "LasOnly.txt" в качестве ввода для lasground, используя -lof опция, как уже советовали:

@lasground -lof "LasOnly.txt" -merged
0 голосов
/ 23 декабря 2018

После предоставления документации и используемой вами программы, я попробую эти два примера.

Создайте переменную со всеми именами файлов.

@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
...