1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
Function Test-Command
{
Param(
[parameter(Position=0,Mandatory=$true,ValueFromPipeline=$true)][string] $Command,
[parameter(Mandatory=$false)][System.Management.Automation.ActionPreference] $ErrAction = [System.Management.Automation.ActionPreference]::Inquire
)
BEGIN { }
PROCESS {
Return @(Get-Command -CommandType Application -ErrorAction $ErrAction $Command)[0].Definition
}
END { }
}
Function Rename-ItemExtension
{
Param(
[Parameter(Mandatory=$true,Position=0)][string] $FileName,
[Parameter(Mandatory=$true,Position=1)][string] $FinalExtension
)
#$InitialExtension = [regex]::Replace($FileName, "(.+)\.([^\.]+)$", '$2')
#Return (($FileName) -Replace "$InitialExtension$", $FinalExtension)
$File = Get-Item $FileName
$InitialExtension = $File.Extension
Return ($File.BaseName + '.' + $FinalExtension)
}
Function Test-MustChangeLocation
{
Param(
[Parameter(Mandatory=$true,Position=0)][string] $CurrentLocation,
[Parameter(Mandatory=$true,Position=1)][string] $FilePath
)
If ( -not (Test-Path $FilePath))
{
Throw "error: $FilePath"
}
$Location = Split-Path $FilePath
If ($CurrentLocation -ne $Location)
{
Set-Location $Location
Return $Location
}
Return $CurrentLocation
}
Function Test-MustBeUpdated
{
Param(
[Parameter(Mandatory=$true,Position=0)][string] $ExistingLocation,
[Parameter(Mandatory=$true,Position=1)][string] $NewLocation,
[Parameter(Mandatory=$true,Position=2)][scriptblock] $Test
)
If (Test-Path $NewLocation)
{
If (. $Test $ExistingLocation (Get-Item $NewLocation))
{
Return $false
}
}
Return $true
}
Function Invoke-ScriptBlock
{
Param(
[Parameter(Mandatory=$true,ValueFromPipeline=$true,Position=0)][scriptblock] $code,
[switch] $KeepLocation
)
if ($KeepLocation)
{
Push-Location
}
. $code
if ($KeepLocation)
{
Pop-Location
}
}
Function New-ScriptBlock
{
Param([Parameter(Position=0,Mandatory=$true)][string] $textofscriptblock)
$executioncontext.InvokeCommand.NewScriptBlock($textofscriptblock)
} |
Partager