0
我想獲得的文件列表中的一個特定的變更,然後從TFS和地點的,是不是我的本地工作空間中的一些任意文件夾中提取它們。複製文件從2010年TFS到任意文件夾
到目前爲止,我能夠解析出從互聯網上找到的代碼集合中更改的文件。現在,我想要做的就是複製這些文件並放入「C:\ mypath \ tostuff \ toworkon」。
這裏是我如何獲得這些文件:
param(
[Parameter(Mandatory=$True)]
[string] $changesets = $(throw 'Usage: Get-Changeset-Files ''changesets'''),
[Parameter(Mandatory=$False)]
[string] $path,
[Parameter(Mandatory=$False)]
[string] $VOSversion,
[Parameter(Mandatory=$False)]
[string] $environment
)
process
{
# get TFS object
$tfs = get-tfs;
# build up list of file items
$fileItems = @();
$changesets.Split(',') | foreach {
$tfs.vcs.GetChangeset($_).Changes | foreach {
if($path.length -gt 0) {
if($_.Item.ServerItem.Contains($path)) {
if($fileItems -notcontains $_.Item.ServerItem) {
$fileItems += $_.Item.ServerItem;
}
}
} else {
if($fileItems -notcontains $_.Item.ServerItem) {
$fileItems += $_.Item.ServerItem;
}
}
}
}
$downloadFolder = 'C:\mypath\tostuff\toworkon'
foreach ($element in $fileItems) {
$fileItem = $tfs.vcs.GetItem($element);
$contents = ([io.streamreader]$fileItem.DownloadFile()).ReadToEnd();
$contents.CopyTo();
}
return $fileItems | Sort-Object;
}
我的問題是$contents.CopyTo()
部分。我知道這是不正確的。這是我堅持的部分。我的目標是在$contents
文件被複制到一個位置的任何路徑 - 我不需要保留文件夾路徑。