Wednesday, February 7, 2024

[SOLVED] cd in PowerShell to, cd plus ls

Issue

How I can write a function or alias a command in PowerShell so that cd can do two things:

  1. cd the given dir
  2. ls the dir content

EDIT:

What I need is this:

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.


Solution

You mean something like this?

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:

Remove-Item alias:\cd
New-Alias cd Set-LocationWithGCI


Answered By - EBGreen
Answer Checked By - Clifford M. (WPSolving Volunteer)