2011-08-29 26 views

Trả lời

6

Không biết về CDPATH trước đây. Tốt để biết. Tôi đánh dấu phần dưới đây cho Powershell:

function cd2 { 
    param($path) 
    if(-not $path){return;} 

    if((test-path $path) -or (-not $env:CDPATH)){ 
     Set-Location $path 
     return 
    } 
    $cdpath = $env:CDPATH.split(";") | % { $ExecutionContext.InvokeCommand.ExpandString($_) } 
    $npath = "" 
    foreach($p in $cdpath){ 
     $tpath = join-path $p $path 
     if(test-path $tpath){$npath = $tpath; break;} 
    } 
    if($npath){ 
     #write-host -fore yellow "Using CDPATH" 
     Set-Location $npath 
     return 
    } 

    set-location $path 

} 

Nó sẽ không hoàn hảo, nhưng hoạt động theo cách mong đợi. Bạn có thể mở rộng nó tôi đoán. Thêm nó vào hồ sơ của bạn. Nếu cần, cũng thêm bí danh như sau:

set-alias -Name cd -value cd2 -Option AllScope 
+0

Tuyệt vời! Cảm ơn bạn. –

Các vấn đề liên quan