首頁

目前文章總數:157 篇

  

最後更新:2024年 12月 07日

0038. 如何在Visual專案建置之後自動複製檔案

日期:2023年 05月 27日

標籤: C++ Visual Studio

摘要:C# 學習筆記


應用所需:1. Visual Studio 2022
解決問題:如何在Visual Studio 的專案建置後,執行複製檔案的動作
基本介紹:本篇分為2大部分。
第一部分:介紹專案與目的
第二部分:調整方法與結果






第一部分:介紹專案與目的

Step 1:專案說明

這個專案是C++的專案,是用來寫LeetCode的專案
有分3個等級的難度Easy、Medium、Hard三種
希望在每次建置後,都將檔案複製到AllProblems資料夾
為何要這樣做呢?有2個目的:
1:看目前已完成的題目,再繼續往下時知道從代號多少開始
2:複習時可以從0001開始


Step 2:Easy資料夾

3個資料夾題目序號必定不重複


Step 3:Medium、Hard資料夾

3個資料夾題目序號必定不重複




第二部分:調整方法與結果

Step 1:開啟專案檔

這個專案是C++的專案,打開副檔名 .vcxproj
※ 如果是C#的專案會是 .csproj 但裡面配置格式相同


Step 2:調整配置-1

增加 的區段,並且命名CopyReferenceDll
觸發時機是建置時所以 AfterTargets=”Build”

  <Target Name="CopyReferenceDll" AfterTargets="Build">

  </Target>




Step 3:調整配置-2

增加 的3區段分別是Easy、Medium、Hard
Easy用包覆
Medium用包覆
Hard用包覆
將包含資料夾內的 *.cpp檔案都複製

    <ItemGroup>
      <ReferenceEasy Include="Easy\*.cpp">
      </ReferenceEasy>
    </ItemGroup>
    <ItemGroup>
      <ReferenceMedium Include="Medium\*.cpp">
      </ReferenceMedium>
    </ItemGroup>
    <ItemGroup>
      <ReferenceHard Include="Hard\*.cpp">
      </ReferenceHard>
    </ItemGroup>



Step 4:調整配置-3

增加 的3區段分別是Easy、Medium、Hard
將檔案都複製到 “AllProblems" 資料夾下
SkipUnchangedFiles = “True” 表示如果已經存在檔案就忽略

    <Copy SourceFiles="@(ReferenceEasy)" DestinationFolder="AllProblems\" SkipUnchangedFiles="True">
    </Copy>
    <Copy SourceFiles="@(ReferenceMedium)" DestinationFolder="AllProblems\" SkipUnchangedFiles="True">
    </Copy>
    <Copy SourceFiles="@(ReferenceHard)" DestinationFolder="AllProblems\" SkipUnchangedFiles="True">
    </Copy>



Step 5:建置專案-驗證

這邊建置專案進行驗證


Step 6:產生結果

最後可以發現AllProblems有所有照順序排列的檔案