在Bash中,我们可以像这样组合两个shell命令cd
和ls
:
function cd {
builtin cd "$@" && ls
}
#this will get a list of file after changing into a directory
也是这个
mkcd () { mkdir -p "$@" && cd "$@"; }
#this will create and directory and change into it at once
我们可以在Powershell中做类似的事吗?如果是这样,我想制作类似的功能并将其放入我的$ profile
感谢您的帮助 Steeluser
修改 的
我意识到这可以通过shell完成:
$> pwd|ls
Directory: D:\ps
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 5/7/2011 9:40 PM config
d---- 5/7/2011 9:40 PM output
d---- 5/8/2011 3:37 AM static
-a--- 5/8/2011 3:36 AM 485 create-static-files.ps1
这可以放在这样的个人资料中:
function pl
{
pwd|ls
}
并且可以从shell调用
ps$ pl
Directory: D:\ps
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 5/7/2011 9:40 PM config
d---- 5/7/2011 9:40 PM output
d---- 5/8/2011 3:37 AM static
-a--- 5/8/2011 3:36 AM 485 create-static-files.ps1
但我无法弄清楚如何做mkcd功能。
答案 0 :(得分:7)
这样的事情应该有效。
Function mkcd {
mkdir $args[0]
cd $args[0]
}
这只是PowerShell中的一个普通函数。有关详情,请参阅http://technet.microsoft.com/en-us/library/dd347712.aspx。
答案 1 :(得分:6)
您可能还需要管理异常directory already exists
并将目录对象返回给调用者:
Function mkcd { if(!(Test-Path -path $args[0])) { mkdir $args[0] } cd $args[0] -passthru }