pentest-distro-builder/filesystem/root/.vscode/extensions/ms-vscode.powershell-1.8.4/examples/PathProcessingNonExistingPaths.ps1

53 lines
No EOL
1.8 KiB
PowerShell

<#
.SYNOPSIS
Demonstrates how to write a command that works with paths that do
not allow wildards and do not have to exist.
.DESCRIPTION
This command does not require a LiteralPath parameter because the
Path parameter can handle paths that use wildcard characters. That's
because this command does not "resolve" the supplied path. This command
also does not verify the path exists because the point of the command is
to create a new file at the specified path.
.EXAMPLE
C:\PS> New-File -Path xyzzy[1].txt -WhatIf
This example shows how the Path parameter can handle a path that happens
to use the wildcard chars "[" and "]" and does not exist to start with.
#>
function New-File {
[CmdletBinding(SupportsShouldProcess=$true)]
param(
# Specifies a path to one or more locations.
[Parameter(Mandatory=$true,
Position=0,
ParameterSetName="Path",
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
HelpMessage="Path to one or more locations.")]
[Alias("PSPath")]
[ValidateNotNullOrEmpty()]
[string[]]
$Path
)
begin {
}
process {
# Modify [CmdletBinding()] to [CmdletBinding(SupportsShouldProcess=$true)]
$paths = @()
foreach ($aPath in $Path) {
# Resolve any relative paths
$paths += $psCmdlet.SessionState.Path.GetUnresolvedProviderPathFromPSPath($aPath)
}
foreach ($aPath in $paths) {
if ($pscmdlet.ShouldProcess($aPath, 'Operation')) {
# Process each path
$aPath
}
}
}
end {
}
}