【发布时间】:2016-10-13 00:43:49
【问题描述】:
我有一个脚本,它正在查找一些文件并复制它们。这是 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 来构建解决方案。
任何见解都值得赞赏!
【问题讨论】:
-
首先想到的是:权限。屏蔽或丢弃错误消息。复制后删除其他地方的文件......从你发布的内容来看,这就是我能想到的。如果您对执行脚本的服务器具有完全访问权限,我的第一个操作是获取 procmon 跟踪并查找错误。如果这不能解决问题,请在脚本中设置 PSDebug 并尝试缩小范围。
标签: powershell psake