2014-10-04 142 views
1

我已經在使用FUSION(LIDAR處理)執行以下工作流中的腳本命令:批處理命令只在命令行實施時工作

  1. 剪輯的LiDAR LAS文件到多邊形邊界創建唯一LAS 文件爲每個多邊形
  2. 運行cloudmetrics記錄在每個 點雲信息削波LAS文件的基礎上

這是我創建完成步驟1中的腳本和2:

set shapefile=D:\path\to\shapefile.shp 
set inlas=D:\path\to\input\folder\containing\las\files 
set clippedlas=D:\path\to\clipped\las\files 
set outcsv=D:\output\csvfile.csv 

dir %inlas%\*.las /b /s > %inlas%\MyLASList.txt 

PolyClipData /multifile /shape:1,* %shapefile% %clippedlas%\clipped %inlas%\MyLASList.txt 

dir %clippedlas%\*.las /b /s > %clippedlas%\MyLASList2.txt 
cloudmetrics %clippedlas%\MyLASList2.txt %outcsv% 

如果我運行此腳本作爲.bat文件通過雙擊該文件,它創建於polyclipdata命令某種無限循環的。但是,如果我在命令行上逐行執行腳本,則工作流將執行所需的任務。這裏錯在哪裏?

+0

如果您運行的命令行由行,你用一個提升的命令提示符? – wimh 2014-10-04 20:34:45

+1

你的批處理文件的名稱是什麼? – Noodles 2014-10-04 20:51:52

+0

@Wimmel是的,我基本上是複製一行文本,粘貼到命令提示符並按回車。 – Borealis 2014-10-04 21:10:46

回答

1

在命令提示符下,使此批處於激活狀態。

PathFind.bat

@echo off 
echo. 
echo PathFind - Finds the first file in in a path 
echo ======== = ===== === ===== ==== == == = ==== 
echo. 
echo Searching for %1 in %path% 
echo. 
set a=%~$PATH:1 
If "%a%"=="" (Echo %1 not found) else (echo %1 found at %a%) 

然後鍵入以下命令行看起來在可執行文件的路徑。

pathfind PolyClipData.com 
pathfind PolyClipData.bat 
pathfind PolyClipData.cmd 
pathfind PolyClipData.exe 
pathfind PolyClipData.vbs 
pathfind PolyClipData.js 
pathfind PolyClipData.wsh 
pathfind PolyClipData.wsf 
pathfind PolyClipData.vbe 
pathfind PolyClipData.jse 
pathfind PolyClipData.lnk 
pathfind PolyClipData.url 
pathfind PolyClipData.pif 
pathfind PolyClipData.msc 

和遠投

pathfind PolyClipData 

如果覺得沒有什麼,那麼你必須編輯這個批處理文件在運行時。

1

當你運行該文件時,你是否在另一個Fusion文件夾中?也許你需要把正確的路徑放到批處理文件上,因爲Fusion命令行可執行文件需要從fusion文件夾運行。

嘗試把正確的路徑:.. \ PolyClipData(或pathfind那麪點)