簡體   English   中英

Powershell獲取有關工作文件夾的最新信息?

[英]Powershell get latest on a working folder?

我正在嘗試獲取特定文件夾的最新信息,並且想知道我該怎么做。 我一直在閱讀有關Workspace類的MSDN文檔,但是不幸的是,它似乎沒有提供有關如何獲取特定文件夾的最新信息。

例如,我只有一個工作區,但有多個工作文件夾。 我的PowerShell腳本可以獲取最新信息,但只能在工作空間級別獲取。 是否可以從工作目錄級別或特定文件夾級別獲取它?

預先感謝DS。

編輯我相信這是可能的,因為電動工具可以通過右鍵單擊文件夾並獲取最新信息來做到這一點。 理想情況下,要復制此內容。

http://msdn.microsoft.com/en-us/library/Microsoft.TeamFoundation.VersionControl.Client.Workspace.aspx

下面顯示了我的實踐腳本。

$tfs = .\tfs-get-instance.ps1 -uri $uri
$vcs = $tfs.TfsTeamProjectCollection.GetService([Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer])
[psobject]$workspace = $vcs.GetWorkspace([System.Environment]::MachineName, [System.Environment]::UserName)
$workspace.Map($sourceFolder, $localFolder)
$result = $workspace.GetLocalItemForServerItem($sourceFolder);

if ($result -ne "")
{
    echo $result
}

您應該可以使用Workspace.Get方法(String [],VersionSpec,RecursionType,GetOptions)來獲取所需的內容。

另一方面,如果您不一定要使用.NET對象,可以讓tf.exe完成實際工作,如下所示:

& $TfExePath workfold /map "$codePath" "$LocalFolderPath" /collection:"$tfCollection" /workspace:$workspaceName
& $TfExePath get "$codePath" /version:$ChangeSet /force /overwrite /all /recursive $workspaceName

另一方面,如果安裝了TF PowerTools,則還應該具有用於​​處理TFS的PowerShell cmdlet。 我從未使用過它們,但是我想您應該可以使用它們,而不是使用tf.exe。 如果滿足您的需求,我可能會在電動工具中使用PowerShell cmdlet。

暫無
暫無

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

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