批處理(二):命令列檔案
阿新 • • 發佈:2018-11-29
原文連結:
問題
批處理的方法二是什麼:命令列檔案?
回答
使用命令列檔案的批處理
在命令列選項下輸入FME,你將看到FME的命令列選項之一是…
命令列檔案是包含FME相關命令列表的一個檔案,每行一個命令。“\”可用於在檔案中的多個物理行上拆分命令。可以以這種方式處理的命令有:生成對映檔案,執行一個工作空間或對映檔案,或者執行另外一個批處理檔案。
例如,命令列檔案可能包含如下的行:
注意你不需要在命令列新增‘fme’的字首,因為當你給出命令“fme COMMAND_FILE <commandFile>‿ 時FME已經啟動。
關鍵字LOG_FILENAME是可選項,允許寫入日誌檔案 ,因此推薦使用。
因此,將幾個命令插入命令檔案會為您提供一個“batch”檔案,該檔案可以使用上面的fme命令執行,或者將該命令本身放入* .bat檔案中。
多個數據集
多個數據集命令,每個讀模組超過一個數據集。例如:
雖然這在普通命令列上可執行,但它會在命令檔案中失敗,因為解析器會誤解命令列上的專案數。
最終FME在其對映檔案中,看起來如下所示:
... 即整個列表開頭和結尾為雙引號組,每個內部檔名的結尾和開頭只有一個引號。
為了得到期望的結果,你需要在對映檔案中的每個引號前放一個 \ ,然後在所有的開頭和結尾放一個 “ 。因此你需要使用的語法為:
這個方法是可靠的,但是如果你的資料集沒有空格字元,且你需要更快的解決方案,FME只需要看到:
這意味著命令檔案中有:
Python 版本
一個fme.exe例項只能載入一個Python解譯器。這意味著為了讓命令檔案執行命令檔案中列出的所有工作空間,在工作空間
如果命令檔案執行時檢測到相容不匹配,則轉換失敗並提示錯誤資訊,且命令檔案的執行將在該工作空間結束。