2016-10-13 43 views
0

我有一個腳本正在查找一些文件並複製它們。這是psake構建腳本的一部分。複製項目不起作用

的命令是:

Get-ChildItem -Path "$sourceFolder" -Include "*.ispac" -Recurse ` 
    | Select-Object -ExpandProperty FullName ` 
    | Copy-Item -Destination "$caseFolder\" -Force -Verbose 

當我執行,我得到這樣的消息:

VERBOSE: Performing the operation "Copy File" on target 
"Item: C:\Source\TestSssisOne.ispac 
Destination: C:\Destination\TestSssisOne.ispac". 

這肯定看起來像文件,其中複製。但他們不是。沒有錯誤。如果我將此命令複製到ISE並設置變量,它不會複製問題。我試圖用顯式路徑手動複製單個文件。再一次,在腳本中它不會複製,但是在PS控制檯或ISE中卻是如此。

我不知道可能是什麼問題。我在psake腳本中使用了Copy-Item。事實上,我將上面的代碼複製到了以後的任務,並且工作正常!在不工作的任務中,我打電話給msbuild來構建解決方案。

任何洞察讚賞!

+0

第一件事:權限。掩蔽或丟棄錯誤消息。在複製後刪除其他地方的文件...從您發佈的內容中,我能想到的就是這些。如果您可以完全訪問執行該腳本的服務器,那麼我的第一個操作就是獲取procmon跟蹤並查找錯誤。如果這樣不能解決問題,請在腳本中設置PSDebug並嘗試縮小它。 –

回答

1

修改代碼一樣,腦海中出現這種

Get-ChildItem -Path "$sourceFolder" -Include "*.ispac" -Recurse -File | foreach{Copy-Item $_.FullName -Destination (("$caseFolder\") + $_.Name) -Force -Verbose } 
+0

這個工程!任何想法,爲什麼這個工作,而正常的副本項目不? –