簡體   English   中英

將所有文件復制到Fake fake中的目標目錄中

[英]Copy all files to the destination directory in Fake f#make

我想將特定目錄中的所有文件復制到目標目錄。
我的代碼運行正常,但是沒有文件被復制到目標文件夾。

我嘗試了兩種方法,但是沒有運氣:(
這是我的代碼:

方法1:

#r @"packages\FAKE\tools\FakeLib.dll"

open Fake
let buildDir = "D:/MyDir/build/"
let testDir  = "D:/MyDir/test/"

let sourceDir = "D:/Files"

// Targets
Target "Clean" (fun _ ->
CleanDirs [buildDir; testDir]
)

Target "BuildSetup" (fun _ ->
    !!(sourceDir + "\**\*.txt")
|> Copy testDir)

"Clean"
  ==>"BuildSetup"

RunTargetOrDefault "BuildSetup"

方法2:

#r @"packages\FAKE\tools\FakeLib.dll"
open Fake
let buildDir = "D:/MyDir/build/"
let testDir  = "D:/MyDir/test/"

let sourceDir = "D:/Files"

// Targets
Target "Clean" (fun _ ->
CleanDirs [buildDir; testDir ;sourceDir]
)

Target "Default" (fun _ ->
trace "Hello World from FAKE"
) 

let additionalFiles = ["D:\Files\new\*.*"]

Target "CopyFiles" (fun _ ->
CopyTo buildDir additionalFiles
)

Target "BuildSetup" (fun _ ->
    !!("D:\Files\new\*.txt")
|> Copy buildDir)


"Clean"
  //==> "Clean"
  //==> "BuildStep"
  ==> "CopyFiles"

RunTargetOrDefault "BuildSetup"

此代碼正在運行,但文件不會復制到目標文件夾。

請告訴我問題的根本原因,我是新手。

下面是一個工作示例:

#r "./packages/FAKE/tools/FakeLib.dll"

open Fake

let source = "C:/test/source"
let additionalFilesDir = "C:/test/additional"
let dest  = "C:/test/dest/"

Target "Clean" (fun _ ->
    CleanDirs [dest]
)

Target "Default" (fun _ ->
    trace "Hello World from FAKE"
)

Target "CopyDirectory" (fun _ ->
    CopyDir (directory dest) source allFiles
)

Target "CopyAdditionalFiles" (fun _ ->
    !!(additionalFilesDir @@ "**/*")
    --(additionalFilesDir @@ "**/*.txt") //exclude '.txt' files
    |> Copy dest

    //copy will NOT fail if directory not existing
    if not <|directoryExists additionalFilesDir then
        traceError ("additionalFilesDir doesn't exist:" + additionalFilesDir)
)


"Clean"
    ==> "CopyDirectory"
    ==> "CopyAdditionalFiles"
    ==> "Default"

RunTargetOrDefault "Default"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM