實現Serv-U中的鏈接功能
這是利用路徑解析原理實現的,算得上是MS-FTP的一個隱藏功能。首先在FTP站點根目錄(這里為d盤)下創建一個文件夾,名為tools,在IIS管理器中,在FTP站點下創建一個虛擬目錄,名為tools,路徑指向f盤下的“工具”目錄。注意這里的虛擬目錄名必須和站點根目錄下創建的文件夾名一致。
在客戶端登錄,這時不能使用FTP01、FTP02登錄了,因為他們登錄進去后直接到了站點根目錄下的對應子目錄下了,同時不能向上回到站點根目錄,所以只能另外創建新用戶,這里我創建了一個FTP03用戶,登錄進去發現除了可看見FTP01、FTP02目錄外,還有其他目錄,但是前面設置了FTP01,FTP02目錄的權限,所以FTP03并不能訪問他們,只是知道這些目錄的存在而已。點擊tools目錄,您會發現自動指向了服務器的f盤下“工具”目錄。
本方法優點:不用第三方工具實現了鏈接功能,在有多個驅動器可使用的情況下特別有用。如果是想鏈接到一個完整的分區,那么在站點根目錄下創建一個文件夾,名字和驅動器號相同就可以了。
本方法缺點:需要創建額外的用戶,如果FTP01這類用戶想瀏覽其他磁盤上的內容就很難了。
自動更新FTP站點目錄及文件列表
Windows有一個很有用的命令tree在這里可以大顯身手了。如果FTP站點根目錄是d,我們只要創建一個批處理文件,內容如下
tree /f /a d: >d:FTP.txt
然后添加一個任務計劃,每小時運行一次。值得注意的是,添加完一個任務后必須進行高級設置才行,如圖4所示。

這樣設置好后,用戶登錄時可以先下載FTP.txt這個文件到本地看看是否有更新,這樣可以節省用戶一個目錄一個目錄去找更新的時間,尤其是網速較慢的情況下。對這個進行擴展一下,可以更節省用戶的時間,還是得靠Windows另外一個有用的命令fc,編寫如下批處理文件FTP更新.bat:
tree /f /a d: >d:FTPnew.txt
fc /L d:FTP.txt d:FTPnew.txt >d:FTP更新列表.txt
然后運行一次前面編寫得FTP.bat,再運行一次FTP更新.bat,這時可以查看FTP更新列表.txt了,如果有更新的話,會以*****開頭*****結尾的形式指出哪個目錄有更新,更新的文件名是什么都列出來了,是不是更一幕了然呢。用戶只需要首先下載FTP更新列表.txt查看就可以了,當然用戶已經瀏覽過這個FTP站點,第一次瀏覽下載FTP.txt就可以了,如果嫌FTPnew.txt這個文件不應該出現在站點根目錄下,也可以在編輯命令時指向其他位置即可。
如今在論壇上也見很多FTP列表,手工維護實在很麻煩,只要把FTP更新列表.txt放在一個Web路徑下或專門為創建一個虛擬目錄指向FTP更新列表.txt所在目錄,那么我們就可以通過瀏覽器直接瀏覽這個文件,因為IE瀏覽器是可以直接解析txt文件的,所以不會提示下載。為了更好方便瀏覽者還可對FTP更新.bat進行補充,完整的FTP更新.bat內容如下:
tree /f /a d: >d:FTPnew.txt
fc /L d:FTP.txt d:FTPnew.txt >d:FTP更新列表.txt
echo 更新時間>> d:FTP更新列表.txt
date /t >> d:FTP更新列表.txt
time /t >> d:FTP更新列表.txt
然后添加一個計劃任務,每小時執行一次這個批處理文件,這樣瀏覽者不僅僅看到更新的內容,還知道更新的時間,下一次更新時間也可以自己推算出來了。如果經常登錄這個FTP站點,還可以把這個地址加入收藏夾,不用登錄FTP也能知道服務器是否有更新,有興趣可訪問http://test.yuanlin.cn/FTP列表更新.txt看看效果。
上面所涉及到的工具都是Windows自帶的,沒有使用任何第三方工具,其實Windows還有很多地方值得我們去深挖。



