<!-- language: lang-vb --> Suppose the following: + MCC-LIDAR software is installed in `C:\Program Files (x86)`. + Input .las files are stored in `C:\test\input`. + Outputs (also with extension .las) are going to be stored in `C:\test\output`. The first alternative is an improved version from K.B's code from your [sourceforge link][1]: PATH="C:\Program Files (x86)\MCC-LIDAR 2.1\bin";%PATH% FOR %%W IN (C:\test\input\*.las) DO ( mcc-lidar %%W C:\test\output\%%~NXW -s 0.5 -t 0.07 ) PAUSE Here is a brief explanation: PATH="C:\Program Files (x86)\MCC-LIDAR 2.1\bin";%PATH% Maps the MCC-LiDAR software in the system's account Environment Variables, so the `mcc-lidar.exe` program can be recognized. FOR %%W IN (C:\test\input\*.las) DO ( Do something with all (*) .las files in `C:\test\input\`. Since it is a `for` loop 'something' is done file by file. mcc-lidar %%W C:\test\output\%%~NXW -s 0.5 -t 0.07 At each step in the loop, apply the mcc-lidar.exe tool to a .las file and save it with the same name in folder `C:\test\output\`. What makes it to be saved with the same name are the modifiers `~NX` (~Name and ~eXtension, respectively) appended to variable `%%W`. For example `%%W` is `C:\test\input\data1.las` and `%%~NXW` is `data1.las`. ) The close bracket ends the loop. Another alternative, can be used when one has some sort of index number in the input filename. For example: data1.las, data2.las, ..., data6.las, etc. Then, use the following code: PATH="C:\Program Files (x86)\MCC-LIDAR 2.1\bin";%PATH% FOR /L %%W IN (1,1,6) DO ( mcc-lidar C:\test\input\data%%W.las C:\test\output\data%%W.las -s 0.5 -t 0.07 ) PAUSE The code explanation is in https://gis.stackexchange.com/questions/150294/clipping-las-data-with-multiple-shapefiles/150502#150502. ------------------------------- If your final goal is to build a DEM, then take a look at a related post: https://gis.stackexchange.com/questions/101786/determining-bare-earth-dem-from-unclassified-las-file/108342#108342 [1]:https://sourceforge.net/p/mcclidar/discussion/961944/thread/74cce518/ [2]:https://stackoverflow.com/questions/8648178/getting-substring-of-a-token-in-for-loop/8656232#8656232