假設我有以下文件夾:C:\[test]\x
,然後,在[test]
文件夾內部,我根本無法使用PowerShell的選項卡完成。PowerShell選項卡完成問題
我想這是因爲該文件夾名稱需要轉義到´[test´]
(反轉的刻度,這會導致Markdown問題在這裏),因爲它完成時從C:\
內跳轉。
我並不在意在C:\
和輸入[t...
內部時丟失的選項卡完成,但我想使用該文件夾中的選項卡完成。有什麼方法可以解決這個問題嗎?
假設我有以下文件夾:C:\[test]\x
,然後,在[test]
文件夾內部,我根本無法使用PowerShell的選項卡完成。PowerShell選項卡完成問題
我想這是因爲該文件夾名稱需要轉義到´[test´]
(反轉的刻度,這會導致Markdown問題在這裏),因爲它完成時從C:\
內跳轉。
我並不在意在C:\
和輸入[t...
內部時丟失的選項卡完成,但我想使用該文件夾中的選項卡完成。有什麼方法可以解決這個問題嗎?
PowerShell及其許多功能通常不適用於帶有特殊符號的路徑,[
和]
符號。我們無法修復PowerShell核心,但我們可以修復/替換一些功能。 TabExpansion就是其中之一。這只是一個全局函數,可以用一個改進的實現來替代。
可以在這裏和那裏找到幾個自定義的TabExpansion實現。我正在使用我自己的。它是主機不可知的(至少它的控制檯,ISE和我自己的主機很好),它相當簡單,但它提供了很多改進。你的特殊問題也解決了。
TabExpansion的(點源入或簡單地從你的PowerShell配置文件調用它)代碼: http://code.google.com/p/farnet/source/browse/trunk/PowerShellFar/TabExpansion.ps1
它的一些特性是通過本次測試涵蓋: http://code.google.com/p/farnet/source/browse/trunk/PowerShellFar/Bench/Test/Test-TabExpansion-.ps1 (測試只能在特殊環境,請勿運行它,只需查看代碼中的註釋以查看TabExpansion可以執行的操作)。
謝謝,我會看看這個! – poke 2010-11-29 20:40:13
我甚至不能用`Set-Location`輸入該文件夾......它需要`LiteralPath`參數。讓人驚訝。 – Joey 2010-11-23 21:44:45