You are not logged in.
Pages: 1
hi
Function Get-Content {
<#
***************************************************************************
--------------------8<-----------------------------------------
Ajout de deux nouveaux paramètres pour simplifier
le traitement des fichiers XML: [-AsXml] [-XPath <String>]
Attention: l'expression Xpath est sEnSiBlE à La cAsSe
Walid toumi
--------------------8<-----------------------------------------
PS> # Exemples d'utilisation:
PS> $file = "$PSHOME\types.ps1xml"
PS> $u = cat $file -As | Select-Xml -XP "//ScriptProperty" | Select -Expand Node
PS> $u
PS> $Xml = Get-Content $file -AsXml
PS> $Xml.Types.Type[1..10]
PS> Get-Content $file -AsXml -XPath "//Type[contains(Name,'Xml')]/Name"
**************************************************************************
.ForwardHelpTargetName Get-Content
.ForwardHelpCategory Cmdlet
#>
[CmdletBinding(DefaultParameterSetName='Path', SupportsTransactions=$true)]
param(
[Parameter(ValueFromPipelineByPropertyName=$true)]
[System.Int64]
${ReadCount},
[Parameter(ValueFromPipelineByPropertyName=$true)]
[System.Int64]
${TotalCount},
[Parameter(ParameterSetName='Path', Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
[System.String[]]
${Path},
[Parameter(ParameterSetName='LiteralPath', Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
[Alias('PSPath')]
[System.String[]]
${LiteralPath},
[System.String]
${Filter},
[System.String[]]
${Include},
[System.String[]]
${Exclude},
[System.String]
${XPath},
[Switch]
${Force},
[Switch]
${AsXml},
[Parameter(ValueFromPipelineByPropertyName=$true)]
[System.Management.Automation.PSCredential]
${Credential})
begin
{
try {
$outBuffer = $null
if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer))
{
$PSBoundParameters['OutBuffer'] = 1
}
$wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Microsoft.PowerShell.Management\Get-Content', [System.Management.Automation.CommandTypes]::Cmdlet)
$cmd = ''
if($AsXml) {
[void]$PSBoundParameters.Remove('AsXml')
$cmd += ' | ForEach-Object {$fx=@()} {$fx+=$_} {$fx -as [Xml]}'
if($XPath) {
[void]$PSBoundParameters.Remove('XPath')
$cmd += ' | Select-Xml -XPath $XPath | Select -expand Node'
}
}
$ScriptCmd = [ScriptBlock]::Create(
{ & $wrappedCmd @PSBoundParameters }.ToString() + $Cmd
)
$steppablePipeline = $scriptCmd.GetSteppablePipeline($myInvocation.CommandOrigin)
$steppablePipeline.Begin($PSCmdlet)
} catch {
throw
}
}
process
{
try {
$steppablePipeline.Process($_)
} catch {
throw
}
}
end
{
try {
$steppablePipeline.End()
} catch {
throw
}
}
}
Offline
Pages: 1