Question:
How I can write a function or alias a command in PowerShell so that cd can do two things:
- cd the given dir
- ls the dir content
EDIT:
What I need is this:
1 2 3 4 5 6 7 |
function ccd { param($path) set-location $path ls } |
but instead of ccd I want to write cd. When I change the function name to cd (from ccd) it changes the directory, but does not list the items in it :(. Seems that my cd function is being overridden.
Answer:
You mean something like this?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function Set-LocationWithGCI{ param( $path ) if(Test-Path $path){ $path = Resolve-Path $path Set-Location $path Get-ChildItem $path }else{ "Could not find path $path" } } Set-Alias cdd Set-LocationWithGCI -Force |
I see that you actually want to change the built-in cd alias. To do that, you would need to remove the existing one then create the new one:
1 2 3 |
Remove-Item alias:\cd New-Alias cd Set-LocationWithGCI |