Visual Studio 建置前事件( Pre-build Event ) / 建置後事件( Post-build Event) - PART 2

之前文章 Visual Studio 建置前事件( Pre-build Event ) / 建置後事件( Post-build Event) 介紹到該如何使用 visual studio 的兩種 build event 跟內建的巨集。後來同事問幾個相關問題,馬上就漏氣,查了資料立馬來紀錄一下

撰寫原則

  1. 執行內容以 () 包著

    • 判斷式與執行內容皆在同一行
    • 正確範例

      • IF 1 == 3 (echo "pass") ELSE (echo "fail")
      • 印出正確資訊

        2correct

    • 錯誤範例

      • IF 1 == 3 echo "pass" ELSE echo "fail"
      • 無法印出正確資訊 >1wonge
  2. 多行運算式需留意 () 位置

    • 判斷式與執行內容橫跨多行
    • ( 在前一行運算式結尾,)在當行運算式開頭 –> 比照 javascript 慣例
    • 正確範例

      IF 1 == 3  (
      echo "pass"
      ) ELSE (
      echo "fail"
      )
      

      3mutiplepass

    • 錯誤範例

      • ”(” 在運算式的開頭

        IF 1 == 3
        (echo "pass"
        ) ELSE 
        (echo "fail"
        )
        

        4mutiplewrong

  3. 邏輯判斷式與保留字間需留意間距

    • 判斷式與 IF( 須有空格

      • 正確範例

        IF 1 == 3 (
        

        5CORRECT

      • 錯誤範例

        IF 1 == 3(
        

        6wrong

    • 判斷式本身不需有空格,下列兩者結果相同

      • 範例 1

        IF 1 == 3 (
        
      • 範例 2

        IF 1==3 (
        

      5CORRECT

  4. 使用正確的邏輯比較運算字

    • 符號僅有 “==” 可以用,詳細內容請看下方
    • 正確範例

      IF 1 NEQ 3 (
      echo "pass"
      ) ELSE (
      echo "fail"
      )
              
      

      7pass

    • 錯誤範例 1

      IF 1 <> 3 (
      echo "pass"
      ) ELSE (
      echo "fail"
      )
      

      8fail

邏輯比較運算子

operatormeaningcomment
EQUEqual,==可以用 ==
NEQNot equal,<>,!=不可替換
LSSLess than, <不可替換
LEQLess than or Equal,<=不可替換
GTRGreater than ,>不可替換
GEQGreater than or equal, >=不可替換

心得

經過這次的再釐清,觀念比較清楚,希望下次不會再被問倒XD,

參考資訊

  1. How to run Visual Studio post-build events for debug build only
  2. IF