2013-02-28 68 views
2

在PowerShell中是否可以設置一個腳本以便在某人到某個目錄時自動運行腳本?是否有可能在用戶目錄下運行腳本到目錄

我明白爲什麼這是一個可怕的,可怕的,不好的想法的所有原因,但有沒有一種機制來支持它,不涉及一些深度的文件系統黑客攻擊?

+0

我想我在使用rvm時在bash中看到過類似的東西,但我不確定。 – 2013-02-28 16:48:10

+0

我想不出任何不涉及替換/覆蓋'set-location'的問題 - 所有這些都很容易被繞過。接下來的想法是一個'FileSystemWatcher',但它只是對文件系統進行修改。 – alroc 2013-02-28 17:04:31

+0

爲cmd.exe(32和64位)編寫一個系統級掛鉤並監聽'keypress'。像'while(!Console.KeyAvailable){... //做一些事情,比如在鍵入cd命令時運行Powershell腳本}'可以在C#中完成。 – 2013-02-28 17:10:16

回答

2

cd只是Set-Location的別名。您可以刪除cd別名(您將需要使用-Force IIRC),然後創建一個CD功能。這是PSCX所做的。但是,如果要處理直接使用Set-Location的情況,則需要爲Set-Location創建proxy function,以便注入自定義代碼。

+0

中沒有一個,我也不會感到驚訝。因此,不是沒有覆蓋函數,對吧?偉大的代理功能鏈接btw – 2013-03-01 01:20:42

+0

是的,你將不得不刪除內置的光盤「別名」,但你會創建一個* new * CD功能。 – 2013-03-01 17:41:19

相關問題